# Disturbance Observer-Based Robot End Constant Contact Force-Tracking Control

Authors: Tie Zhang; Xiaohong Liang
Journal: Complexity
 (2019)

---

## Abstract

A disturbance observer-based hybrid sliding mode impedance control method is proposed in this paper, which is able to achieve robot end constant contact force-tracking control without force/torque sensors. The method requires only the values of joint torque, joint angle, and joint angular velocity, which are converted by robot servo motor signals, to implement the control. The control scheme consists of two parts: one is a disturbance observer and the other is a hybrid sliding mode impedance controller. The disturbance observer, which takes robot internal signals mentioned above as the inputs to estimate the robot end contact force, is designed based on generalized momentum, thus improving the estimation accuracy. The hybrid sliding mode impedance controller, which uses the values estimated by the disturbance observer and the robot internal signals as the inputs to calculate the corresponding position adjustment, integrates both the impedance control and sliding mode control, thus improving the force-tracking performance and robustness. Experimental results show that the proposed disturbance observer-based hybrid sliding mode impedance control method possesses high control precision.


---

## Body

## 1. Introduction

With the application of industrial robots in different production fields, more and more attention is paid to the contact force between the robot end and the external environment. To avoid damages to the robot caused by excessive contact between the robot end and the external environment, the contact force should be controlled with high precision. Force/position control, impedance control, and admittance control are several classic force control methods for robots [1, 2]. However, there exist certain limitations in these methods. For example, in the case of too large external disturbance, the convergence speed is slow, especially for the constant force control in the applications such as grinding processing, which may lead to large fluctuations of the contact force. In recent years, scholars have proposed many force control methods that integrate both the classic methods and the intelligent algorithms, such as fuzzy control and neural network control [3–9]. Panwar and Sukavanam et al. [4] used a feedforward neural network to compensate the uncertainty of the robot model and presented an optimized force/position hybrid control method. Wang et al. [5] employed a radial basis function network controller to compensate the dynamic uncertainty of a robot and put forward a method combining fuzzy control and impedance control to realize the robust force following control of the robot. Nagata et al. [6] used a neural network to finely adjust the ideal damping, which helped to obtain nonlinear effective stiffness and improve the surface treatment performance of a metal mold. In References [7] and [8], a method combining the sliding mode control with the force/position hybrid control was proposed. The sliding mode control guaranteed trajectory tracking robustness while allowing the robot to slide over unknown obstacles. The force/position hybrid control improved the control performance when the material stiffness changes during the processing. Tian et al. [9] designed an antisaturation integral separation fuzzy PI controller with explicit force input and used the proposed controller to control the normal polishing force of curved surface workpieces in the process of an overall uniform mirror surface.A common feature of these above-mentioned methods is that all these methods acquire the force information obtained by installing a force/torque sensor at the end of a robot and fused with control algorithms, which may lead to high cost of the force/torque sensor-contained equipment integration and the subsequent maintenance.To solve these problems, researchers attempted to develop robot end contact force control methods that require no force/torque sensor. A simple method is to estimate the robot end force directly through the Jacobian matrix and the joint torques. There are two approaches to obtain the joint torque: one is to install an additional joint torque sensor and the other is to convert the joint servo motor’s current signal. As general industrial robots have no joint torque sensors, the latter approach is often adopted [10–12]. However, in practice, because of the noise of the AC servo motor current signal and the inaccuracy of dynamic modelling, this approach is not good at estimating the robot end force. Some researchers chose a new kind of DC motor robot, researched the robot end contact force control without force/torque sensors, and obtained some beneficial results [13, 14]. For general AC servo motor-based industrial robots, a disturbance observer should be used for robot end contact force estimation so that this approach is an estimation method based on robot internal signals. As compared with the direct use of the joint torques and the Jacobian matrix, the disturbance observer actually acts as a filter and helps to obtain high estimation accuracy. Eom et al. [15] used a disturbance observer for each joint to obtain an equivalent robot dynamics model, designed an output estimator to estimate the internal moment, and used the difference between the disturbance observer and the output estimator to estimate the end force. He et al. [16] proposed a recursive nonlinear observer to estimate the external force interference and combined this observer with the adaptive fuzzy sliding mode algorithm to realize the trajectory tracking control of redundant robots. Kawasaki and Ueki [17] proposed a nonlinear disturbance observer without joint angular acceleration to estimate the joint friction and the external force and carried out simulation verification. Agarwal and Parthasarathy [18] used the disturbance observer output as a part of a nonlinear system state variable, treated the output error as an independent Gaussian white noise, and used an extended Kalman filter to track the disturbance. Hu and Xiong [19] compensated the rigid body dynamics model’s error with a multilayer perceptron and combined this model with a semiparametric model and a perturbed Kalman filter to improve the accuracy and robustness of force estimation under uncertainty. Van Damme et al. [20] used the least-squares method and a disturbance observer to estimate the robot end forces from noisy driver torques and discussed the intrinsic relationship between the least-squares method and the disturbance observer method. Azimifar et al. [21] proposed an improved disturbance observer for the control of a constant time-delay nonlinear bilateral teleoperation system. The results of these researches show that a disturbance observer can replace the force/torque sensor measurement signals with AC servo motor signals to obtain basic force information, thus implementing the robot end constant force-tracking control.References [10–23] mentioned the use of the disturbance observer to estimate external forces, but the research topics are different from the topics studied in this paper. References [10, 11, 15] were validated only on two-link robots with simple dynamics models. References [12–14, 19] took collaborative robots as the research object, and this kind of robot is directly driven by DC motors. As compared with normal industrial robots, the transmission mechanism of DC motor-driving robots is greatly simplified, and the noise in the motor torque signal is greatly reduced. Reference [17] only performed the simulation of the disturbance observer. References [18, 20] carried out experimental verifications with robots, but the experimental equipment in Reference [18] is a simple small desktop robot and the experimental equipment in Reference [20] is a pneumatic robot. References [22, 23] only performed the simulation based on the combination of sliding mode control and impedance control but did not give an experimental verification.This paper takes a 6-axis industrial robot with the AC servo motor and reducer as the research object and proposes an end contact force control method for industrial robots without force/torque sensors, namely, a disturbance observer-based hybrid sliding mode impedance control method. The method integrates a disturbance observer, a sliding mode controller, and an impedance controller. The disturbance observer is based on generalized momentum and is selected to estimate the forces acting on the end of the robot with servo motor signals as inputs, thus providing control inputs for the force controller instead of a force sensor. Moreover, the disturbance observer has a filtering effect, which can reduce noise servo motor torque signals caused by both the RV reducer and the harmonic reducer and improve the accuracy of external force estimation. Thus, the problem of insufficient accuracy in estimating the external forces directly by joint torque mapping can be successfully solved. The hybrid sliding mode impedance controller has better force-tracking performance and stronger robustness than the common impedance controller and finds it easy to meet the real-time requirement for the robot control system. Based on the existing Lyapunov function and the dynamics model of the industrial robot used in this paper, the stability of the algorithm is proved in detail. It is proved that the proposed control method without force/torque sensors is applicable to the application scenarios targeted in this paper. Finally, the feasibility of the proposed method is verified by experiments.The rest of this paper is organized as follows: Section2 introduces the overall implementation framework of the proposed control method and analyzes the interaction force at the end of the robot when the robot comes into contact with the environment. Section 3 conducts robot dynamics modelling and lists some of the dynamic model properties that are used in subsequent algorithm design. Section 4 proposes a disturbance observer based on generalized momentum to estimate the end contact force. As the accuracy of the disturbance observer needs to be verified by a force/torque sensor, an explanation of the transformation of the force/torque coordinate will also be made in this section. Section 5 presents a hybrid sliding mode impedance controller with a proof of the stability. Section 6 uses 4 experiments to verify the disturbance observer-based hybrid sliding mode impedance control method. Section 7 gives a full text summary.


## 2. Control Scheme without Force/Torque Sensors

### 2.1. Hardware Framework of the Force Control System

Figure1 shows the whole hardware framework of the force control system. The industrial computer, in which a real-time kernel is installed, is the main control system of the robot. It communicates directly with the servo driver installed in the robot control cabinet via the EtherCAT bus protocol. The industrial computer sends desired position commands to the robot in each control cycle, and at the same time, such internal signals of the robot as the motor encoder value and the motor current value are retrieved. It should be noted that when the end of the robot is in contact with the environment, the contact force acts on the joint of the robot in the form of a disturbance torque so that the output torque of the motor changes accordingly. Therefore, the returned motor current value has actually been affected by the end contact force; that is, the interaction force information has been included. The industrial computer converts the internal signals of the robot into the values of joint angle, joint angular velocity, and joint torque. The disturbance observer is used to calculate the estimated value of the contact force. Then, the position adjustment amount is calculated by the hybrid sliding mode impedance controller and then sent to the servo driver to finally realize the contact force control between the robot end and the environment.Figure 1
Hardware framework.The force/torque sensor and its associated equipment are shown on the right side of Figure1. It should be noted that although this paper studies the robot force control method without force/torque sensors, in order to compare the performance of the control method, it is still necessary to measure the contact force between the robot and the environment by using a force/torque sensor. Of course, the force/torque sensor values are not used in the proposed control algorithm. The sensor is mounted at the end of the robot. The analog signal of the sensor is amplified by the amplifier and is transmitted to the Beckhoff module to convert the analog signal into a digital signal which is then transmitted to the robot control cabinet. Finally, the sensor value is transmitted back to the industrial computer along with the servo motor signals.


### 2.2. Robot End Contact Force Analysis

The force analysis of the robot end that is in contact with the environment is represented by the abstract model shown in Figure2. Assuming that the robot moves according to the control command, the flange shaft mounted at the end is brought into contact with the environment by the robot and moves at a velocity v in a certain direction. In this case, the environment will apply two forces to the flange shaft at the point of contact: one is the normal force Fn, pointing out to the environment along the environmental normal direction at the point of contact, and the other is the friction that is parallel to the movement direction but opposite in direction. Generally, this friction force is tangent to the normal direction of the environment, so it is hereinafter referred to as the tangential force Ft.Figure 2
Schematic diagram of the contact between the robot end and the workpiece.When the flange shaft is in contact with the environment, its axial direction does not necessarily coincide with the environmental normal direction. Depending on the application of the robot, the control algorithm sometimes needs to make these two directions coincide. At this point, an algorithm for estimating the environmental normal direction is needed to determine the angle between the flange shaft’s axial direction and the environmental normal direction. The normal direction estimation algorithm can be designed separately. Since this algorithm is not the focus of this paper, only the case in which the flange shaft’s axial direction and the environmental normal direction are coincident during the contact is considered, as shown in Figure2. This case can be achieved by prior adjustment and trajectory planning. As shown in Figure 2, the end of the robot is connected to the force sensor via a designed connector. The flange shaft and the force sensor are directly connected by screws. The flange shaft is coaxial with the sensor. The normal force Fn is basically along the axial direction of the flange shaft, pointing in the direction in which the sensor is located. The force value measured in the Z direction of the sensor can be considered the normal force Fn acting at the end of the flange shaft.


## 2.1. Hardware Framework of the Force Control System

Figure1 shows the whole hardware framework of the force control system. The industrial computer, in which a real-time kernel is installed, is the main control system of the robot. It communicates directly with the servo driver installed in the robot control cabinet via the EtherCAT bus protocol. The industrial computer sends desired position commands to the robot in each control cycle, and at the same time, such internal signals of the robot as the motor encoder value and the motor current value are retrieved. It should be noted that when the end of the robot is in contact with the environment, the contact force acts on the joint of the robot in the form of a disturbance torque so that the output torque of the motor changes accordingly. Therefore, the returned motor current value has actually been affected by the end contact force; that is, the interaction force information has been included. The industrial computer converts the internal signals of the robot into the values of joint angle, joint angular velocity, and joint torque. The disturbance observer is used to calculate the estimated value of the contact force. Then, the position adjustment amount is calculated by the hybrid sliding mode impedance controller and then sent to the servo driver to finally realize the contact force control between the robot end and the environment.Figure 1
Hardware framework.The force/torque sensor and its associated equipment are shown on the right side of Figure1. It should be noted that although this paper studies the robot force control method without force/torque sensors, in order to compare the performance of the control method, it is still necessary to measure the contact force between the robot and the environment by using a force/torque sensor. Of course, the force/torque sensor values are not used in the proposed control algorithm. The sensor is mounted at the end of the robot. The analog signal of the sensor is amplified by the amplifier and is transmitted to the Beckhoff module to convert the analog signal into a digital signal which is then transmitted to the robot control cabinet. Finally, the sensor value is transmitted back to the industrial computer along with the servo motor signals.


## 2.2. Robot End Contact Force Analysis

The force analysis of the robot end that is in contact with the environment is represented by the abstract model shown in Figure2. Assuming that the robot moves according to the control command, the flange shaft mounted at the end is brought into contact with the environment by the robot and moves at a velocity v in a certain direction. In this case, the environment will apply two forces to the flange shaft at the point of contact: one is the normal force Fn, pointing out to the environment along the environmental normal direction at the point of contact, and the other is the friction that is parallel to the movement direction but opposite in direction. Generally, this friction force is tangent to the normal direction of the environment, so it is hereinafter referred to as the tangential force Ft.Figure 2
Schematic diagram of the contact between the robot end and the workpiece.When the flange shaft is in contact with the environment, its axial direction does not necessarily coincide with the environmental normal direction. Depending on the application of the robot, the control algorithm sometimes needs to make these two directions coincide. At this point, an algorithm for estimating the environmental normal direction is needed to determine the angle between the flange shaft’s axial direction and the environmental normal direction. The normal direction estimation algorithm can be designed separately. Since this algorithm is not the focus of this paper, only the case in which the flange shaft’s axial direction and the environmental normal direction are coincident during the contact is considered, as shown in Figure2. This case can be achieved by prior adjustment and trajectory planning. As shown in Figure 2, the end of the robot is connected to the force sensor via a designed connector. The flange shaft and the force sensor are directly connected by screws. The flange shaft is coaxial with the sensor. The normal force Fn is basically along the axial direction of the flange shaft, pointing in the direction in which the sensor is located. The force value measured in the Z direction of the sensor can be considered the normal force Fn acting at the end of the flange shaft.


## 3. Robot Dynamics Equation

The force control method proposed in this paper is essentially a dynamics model-based control method. This section conducts robot dynamics modelling and discusses some properties of the dynamics equation.


### 3.1. Robot Dynamics Modelling

There are two common methods for robot dynamics modelling, one is the Newton–Euler method and the other is the Lagrangian method. The former is an iterative calculation method, and the latter analyzes the dynamics problem from the perspective of energy. In this paper, the Newton–Euler method [24] is used to conduct robot dynamics modelling. The general robot dynamics equation is shown as(1)Mqq¨+Cq,q˙q˙+Gq+τfq˙=τ+τd,where q, q˙, and q¨ are the joint angle vector, angular velocity vector, and angular acceleration vector of the robot; Mq is the inertia matrix; Cq,q˙ is the Coriolis force and centrifugal force matrix; Gq is the gravity term; τfq˙ is the joint friction term; τ is the joint drive torque; and τd is the disturbance torque caused by the external force at the robot end, and τd=0 when the robot is not subjected to external force. For convenience in following sections, Mq is written as M, Cq,q˙ is written as C, Gq is written as G, and τfq˙ is written as τf.The friction term in equation (1) is modelled using a classical friction model [25] including viscous friction and Coulomb friction as follows:(2)τf=f1⋅q˙+f2⋅sgnq˙,where f1 and f2 are, respectively, the viscous friction coefficient and the Coulomb friction coefficient.


### 3.2. The Properties of the Dynamics Equation

For the robot dynamics equation, previous researchers have performed many researches and summarized some accepted viewpoints. Here are some of the robot dynamics equation properties [16, 20] that are used in the subsequent algorithm design.(1)
The inertia matrix has the following relationship with the Coriolis force and centrifugal force matrix:(3)aTM˙−2Ca=0,wherea is the column vector corresponding to the dimension of the inertia matrix. The meaning of this equation is that M˙−2C is an antisymmetric matrix.(2)
By rearranging the Coriolis force and centrifugal force matrix, it can also be made to have the following relationship with the inertia matrix:(4)M˙=Cr+CrT,whereCr is the matrix rearranged from the original Coriolis force and centrifugal force matrix and can replace the matrix C in equation (1) without changing the calculation result.


### 3.3. Dynamics Equation in Cartesian Space

Equation (1) is a dynamics equation in the joint space. In this paper, we deal with the method of robot end force control in the Cartesian space. Therefore, it is necessary to obtain the robot dynamics equation in the Cartesian space through some transformations. And the transformed equation will be used in the design of the control algorithm in Section 5. As we all know, the joint velocity has the following relationship with the Cartesian velocity and acceleration at the end of the robot [24]:(5)x˙=Jqq˙,x¨=J˙q˙+Jq¨,where x˙ and x¨ are, respectively, the velocity and acceleration at the end of the robot in the Cartesian space and Jq is the Jacobian matrix of the robot end relative to the base coordinate system and is written as J for simplified representation hereinafter.By substituting equation (5) into equation (1), the robot dynamics equation in the Cartesian space is obtained after rearrangement and simplification as(6)Mxx¨+Cxx˙+Gx+Ff=T+F,where Mx=J−TMJ−1 is the inertia matrix in the Cartesian space; Cx=J−TCr−MJ−1J˙J−1 is the Coriolis force and centrifugal force matrix in the Cartesian space; Gx=J−TG is the gravity term in the Cartesian space; Ff=J−Tτf is the joint friction term in the Cartesian space; T=J−Tτ is the joint torque in the Cartesian space; and F is the external force applied to the robot end.


## 3.1. Robot Dynamics Modelling

There are two common methods for robot dynamics modelling, one is the Newton–Euler method and the other is the Lagrangian method. The former is an iterative calculation method, and the latter analyzes the dynamics problem from the perspective of energy. In this paper, the Newton–Euler method [24] is used to conduct robot dynamics modelling. The general robot dynamics equation is shown as(1)Mqq¨+Cq,q˙q˙+Gq+τfq˙=τ+τd,where q, q˙, and q¨ are the joint angle vector, angular velocity vector, and angular acceleration vector of the robot; Mq is the inertia matrix; Cq,q˙ is the Coriolis force and centrifugal force matrix; Gq is the gravity term; τfq˙ is the joint friction term; τ is the joint drive torque; and τd is the disturbance torque caused by the external force at the robot end, and τd=0 when the robot is not subjected to external force. For convenience in following sections, Mq is written as M, Cq,q˙ is written as C, Gq is written as G, and τfq˙ is written as τf.The friction term in equation (1) is modelled using a classical friction model [25] including viscous friction and Coulomb friction as follows:(2)τf=f1⋅q˙+f2⋅sgnq˙,where f1 and f2 are, respectively, the viscous friction coefficient and the Coulomb friction coefficient.


## 3.2. The Properties of the Dynamics Equation

For the robot dynamics equation, previous researchers have performed many researches and summarized some accepted viewpoints. Here are some of the robot dynamics equation properties [16, 20] that are used in the subsequent algorithm design.(1)
The inertia matrix has the following relationship with the Coriolis force and centrifugal force matrix:(3)aTM˙−2Ca=0,wherea is the column vector corresponding to the dimension of the inertia matrix. The meaning of this equation is that M˙−2C is an antisymmetric matrix.(2)
By rearranging the Coriolis force and centrifugal force matrix, it can also be made to have the following relationship with the inertia matrix:(4)M˙=Cr+CrT,whereCr is the matrix rearranged from the original Coriolis force and centrifugal force matrix and can replace the matrix C in equation (1) without changing the calculation result.


## 3.3. Dynamics Equation in Cartesian Space

Equation (1) is a dynamics equation in the joint space. In this paper, we deal with the method of robot end force control in the Cartesian space. Therefore, it is necessary to obtain the robot dynamics equation in the Cartesian space through some transformations. And the transformed equation will be used in the design of the control algorithm in Section 5. As we all know, the joint velocity has the following relationship with the Cartesian velocity and acceleration at the end of the robot [24]:(5)x˙=Jqq˙,x¨=J˙q˙+Jq¨,where x˙ and x¨ are, respectively, the velocity and acceleration at the end of the robot in the Cartesian space and Jq is the Jacobian matrix of the robot end relative to the base coordinate system and is written as J for simplified representation hereinafter.By substituting equation (5) into equation (1), the robot dynamics equation in the Cartesian space is obtained after rearrangement and simplification as(6)Mxx¨+Cxx˙+Gx+Ff=T+F,where Mx=J−TMJ−1 is the inertia matrix in the Cartesian space; Cx=J−TCr−MJ−1J˙J−1 is the Coriolis force and centrifugal force matrix in the Cartesian space; Gx=J−TG is the gravity term in the Cartesian space; Ff=J−Tτf is the joint friction term in the Cartesian space; T=J−Tτ is the joint torque in the Cartesian space; and F is the external force applied to the robot end.


## 4. Design of the Disturbance Observer and Coordinate Transformation of Force/Torque Sensors

### 4.1. Design of Disturbance Observer Based on Generalized Momentum

The disturbance observer estimates the force at the end of the robot through the obtained joint servo motor signals. Thereby, it acts as an alternative to the force/torque sensor. In this paper, we choose a generalized momentum-based disturbance observer because it needs no robot joint angular acceleration in the calculation. Generally, there is no joint angular acceleration sensor in industrial robots so that the angular acceleration is obtained via secondary differentiating the joint angle value read by the motor encoder, which may result in a large amount of noise of the acceleration. If the noisy angular acceleration is applied to the estimation algorithm, the estimation accuracy is inevitably affected. The use of a generalized momentum in this paper helps to solve this problem and improve the accuracy.The generalized momentum of the robot and its differential are defined as follows [20]:(7)P=Mq˙,P˙=Mq¨+M˙q˙,where P is the generalized momentum of the robot and P˙ is the corresponding differential.By substituting equation (1) and equation (4) into equation (7), another expression of generalized momentum differential is obtained as(8)P˙=τ+M˙q˙−Crq˙−G−τf+τd=τ+M˙−Crq˙−G−τf+τd=τ+CrTq˙−G−τf+τd.Note thatP^ is the estimated generalized momentum, and eP=P−P^ is the generalized momentum estimation’s error. A disturbance observer is established based on generalized momentum as(9)P^˙=τ+CrTq˙−G−τf+KIeP,where KI is a diagonal gain matrix and the diagonal elements are all positive.Note thatr=KIeP. By substituting the integral of equation (9) into the expression of r, the following equation is obtained:(10)r=KIeP=KIP−P^=KIP−∫0tτ+CrTq˙−G−τf+rdt.By comparing equations (8) and (10), it is obvious that r is the estimated value of the disturbing torque τd in equation (8). Assuming that the disturbance torque τd is generated by the robot end’s external force transmitted to the joint motor, the estimated external force F^ can be represented as(11)F^=J−Tr.Figure3 shows a flow chart of the disturbance observer. As shown in the figure, the robot receives a desired position control command qd to generate motion. However, the robot is ultimately affected by the disturbance torque τd and eventually reaches the actual joint position q, which is converted from the motor encoder values. q˙ is the joint angular velocity and is derived from the motor velocity signals. τ is the robot motor torque and is derived from the motor current signals. The disturbance observer takes all these robot internal signals as inputs and finally outputs the estimated external force values that are the inputs of the force controller.Figure 3
Flow chart of the disturbance observer.


### 4.2. Coordinate Transformation of Force/Torque Sensors

To verify the effectiveness and feasibility of the proposed control method, a force/torque sensor needs to be installed at the end of the robot. As the disturbance observer estimates the force at the end of the robot, it is necessary to first convert the sensor value to the end coordinate system for comparison. In Section6, a comparison of all experimental results is performed in the end coordinate system.From the contact force analysis in Section2, it is clear that the force measured in the Z direction of the sensor can be considered the normal force Fn acting at the end of the flange shaft. Different from the normal force, the tangential force Ft acting at the end is measured in the form of component forces by the X and Y directions of the sensor. However, because of the design and installation and robot dynamics modelling, the X and Y directions of the sensor coordinate system are inconsistent with the X and Y directions of the end coordinate system. Therefore, it is necessary to convert the sensor values to obtain the corresponding robot end contact forces in the X and Y directions of the end coordinate system.Figure4 shows the X, Y, and Z directions of the end coordinate system and the sensor coordinate system when the robot is in the home position. The distance between the origins of the two coordinate systems is represented by D′. As the details mentioned above, the sensor is coaxial with the flange shaft. The Z directions of the two coordinate systems are the same, and the positive direction is directed to the outside of the robot in the axial direction. The XS-YS plane is parallel to the XE-YE plane. In the small picture in the upper right corner, θ′ is the angle between the X directions of the two coordinate systems, and this angle has a fixed value of 120°. Then, the sensor value column vector is multiplied by a transformation matrix to obtain the end force column vector as follows:(12)FXEFYEFZEMXEMYEMZE=cosθ′sinθ′0000−sinθ′cosθ′0000001000−D′sinθ′D′cosθ′0cosθ′sinθ′0−D′cosθ′−D′sinθ′0−sinθ′cosθ′0000001FXSFYSFZSMXSMYSMZS,where θ′ is the angle between the X directions of the two coordinate systems, with a value of 120°, and D′ is the distance between two coordinate systems, with a value of 0.126 m.Figure 4
End coordinate system and sensor coordinate system.The force/torque sensor values are converted from the sensor coordinate system to the robot flange shaft end coordinate system according to equation (12). Thereby, the theoretical true value of contact force at the end of the robot is obtained.


## 4.1. Design of Disturbance Observer Based on Generalized Momentum

The disturbance observer estimates the force at the end of the robot through the obtained joint servo motor signals. Thereby, it acts as an alternative to the force/torque sensor. In this paper, we choose a generalized momentum-based disturbance observer because it needs no robot joint angular acceleration in the calculation. Generally, there is no joint angular acceleration sensor in industrial robots so that the angular acceleration is obtained via secondary differentiating the joint angle value read by the motor encoder, which may result in a large amount of noise of the acceleration. If the noisy angular acceleration is applied to the estimation algorithm, the estimation accuracy is inevitably affected. The use of a generalized momentum in this paper helps to solve this problem and improve the accuracy.The generalized momentum of the robot and its differential are defined as follows [20]:(7)P=Mq˙,P˙=Mq¨+M˙q˙,where P is the generalized momentum of the robot and P˙ is the corresponding differential.By substituting equation (1) and equation (4) into equation (7), another expression of generalized momentum differential is obtained as(8)P˙=τ+M˙q˙−Crq˙−G−τf+τd=τ+M˙−Crq˙−G−τf+τd=τ+CrTq˙−G−τf+τd.Note thatP^ is the estimated generalized momentum, and eP=P−P^ is the generalized momentum estimation’s error. A disturbance observer is established based on generalized momentum as(9)P^˙=τ+CrTq˙−G−τf+KIeP,where KI is a diagonal gain matrix and the diagonal elements are all positive.Note thatr=KIeP. By substituting the integral of equation (9) into the expression of r, the following equation is obtained:(10)r=KIeP=KIP−P^=KIP−∫0tτ+CrTq˙−G−τf+rdt.By comparing equations (8) and (10), it is obvious that r is the estimated value of the disturbing torque τd in equation (8). Assuming that the disturbance torque τd is generated by the robot end’s external force transmitted to the joint motor, the estimated external force F^ can be represented as(11)F^=J−Tr.Figure3 shows a flow chart of the disturbance observer. As shown in the figure, the robot receives a desired position control command qd to generate motion. However, the robot is ultimately affected by the disturbance torque τd and eventually reaches the actual joint position q, which is converted from the motor encoder values. q˙ is the joint angular velocity and is derived from the motor velocity signals. τ is the robot motor torque and is derived from the motor current signals. The disturbance observer takes all these robot internal signals as inputs and finally outputs the estimated external force values that are the inputs of the force controller.Figure 3
Flow chart of the disturbance observer.


## 4.2. Coordinate Transformation of Force/Torque Sensors

To verify the effectiveness and feasibility of the proposed control method, a force/torque sensor needs to be installed at the end of the robot. As the disturbance observer estimates the force at the end of the robot, it is necessary to first convert the sensor value to the end coordinate system for comparison. In Section6, a comparison of all experimental results is performed in the end coordinate system.From the contact force analysis in Section2, it is clear that the force measured in the Z direction of the sensor can be considered the normal force Fn acting at the end of the flange shaft. Different from the normal force, the tangential force Ft acting at the end is measured in the form of component forces by the X and Y directions of the sensor. However, because of the design and installation and robot dynamics modelling, the X and Y directions of the sensor coordinate system are inconsistent with the X and Y directions of the end coordinate system. Therefore, it is necessary to convert the sensor values to obtain the corresponding robot end contact forces in the X and Y directions of the end coordinate system.Figure4 shows the X, Y, and Z directions of the end coordinate system and the sensor coordinate system when the robot is in the home position. The distance between the origins of the two coordinate systems is represented by D′. As the details mentioned above, the sensor is coaxial with the flange shaft. The Z directions of the two coordinate systems are the same, and the positive direction is directed to the outside of the robot in the axial direction. The XS-YS plane is parallel to the XE-YE plane. In the small picture in the upper right corner, θ′ is the angle between the X directions of the two coordinate systems, and this angle has a fixed value of 120°. Then, the sensor value column vector is multiplied by a transformation matrix to obtain the end force column vector as follows:(12)FXEFYEFZEMXEMYEMZE=cosθ′sinθ′0000−sinθ′cosθ′0000001000−D′sinθ′D′cosθ′0cosθ′sinθ′0−D′cosθ′−D′sinθ′0−sinθ′cosθ′0000001FXSFYSFZSMXSMYSMZS,where θ′ is the angle between the X directions of the two coordinate systems, with a value of 120°, and D′ is the distance between two coordinate systems, with a value of 0.126 m.Figure 4
End coordinate system and sensor coordinate system.The force/torque sensor values are converted from the sensor coordinate system to the robot flange shaft end coordinate system according to equation (12). Thereby, the theoretical true value of contact force at the end of the robot is obtained.


## 5. Design and Stability Proof of Force Control Algorithm

This section gives the design of a force control algorithm that integrates impedance control and sliding mode control and proves the stability of the algorithm. The force information in this algorithm is provided by the disturbance observer designed in Section4.


### 5.1. Hybrid Impedance Control Principle

Hybrid impedance control is an improved impedance control method that improves the force-tracking performance of control algorithms. A general second-order impedance model is shown as follows [22]:(13)Mdx¨−x¨d+Cdx˙−x˙d+Kdx−xd=−Fe,where Md is the desired inertia matrix; Cd is the desired damping matrix; Kd is the desired stiffness matrix; x, x˙, and x¨ are, respectively, the actual position, velocity, and acceleration in Cartesian coordinates; xd, x˙d, and x¨d are, respectively, the desired position, velocity, and acceleration; and Fe is the contact force.In contact control, position accuracy and force accuracy cannot be achieved simultaneously in one direction. When a desired force in a certain direction is given, the desired position in this direction should not be given. Therefore, the control model in the force control direction is modified into the following equation:(14)Mdx¨+Cdx˙=Fd−Fe,where Fd is the desired contact force.By combining equations (13) and (14), the expression of the hybrid impedance control is shown as(15)Mdx¨−Sx¨d+Cdx˙−Sx˙d+KdSx−xd=I−SFd−Fe,where S is a selection matrix that is diagonal with elements 0 and 1 on the diagonal: element 0 means that the force control is implemented in the corresponding dimension, while element 1 means that the impedance control is implemented.Equation (15) can be rewritten in a concise form as(16)Mde¨I+Cde˙I+Kde=−ef,where e=Sx−xd is the generalized positional error; eI=x−Sxd is used to calculate the generalized velocity error and the generalized acceleration error; and ef=Fe−I−SFd is the generalized force error.


### 5.2. Sliding Mode Control Incorporating Force Information

By adding an auxiliary variablez, the force information of the robot end can be introduced into the general sliding mode control algorithm. z is a parameter designed to be related to hybrid impedance control and implicitly contains force information. A dynamic compensator [23] is established for z as follows:(17)z˙=Az+Kpze−C2−1C1e˙+Kvze˙I+Kfzef,where A is a seminegative constant matrix; Kpz, Kvz, and Kfz are a set of parameters related to impedance control parameters, and their calculation methods will be discussed later; C1 is a constant diagonal matrix; and C2 is a nonsingular constant diagonal matrix.Then, a sliding mode manifold is built bye˙I, e, and z as follows:(18)s=e˙I+C1e+C2z,where s is the sliding mode manifold and C1 and C2 are the same as those in equation (17).According to the sliding mode control’s arrival conditions, lets=0 and s˙=0, and the expressions for z and z˙ are obtained as(19)z=−C2−1e˙I+C1e,z˙=−C2−1e¨I+C1e˙.


### 5.3. Design of the Hybrid Sliding Mode Impedance Control Algorithm

The auxiliary variablez is the key to the relationship between sliding mode control and hybrid impedance control. By substituting equation (19) into equation (18) and by eliminating z and z˙ in the expression, the following equation is obtained after rearrangement:(20)e¨I+C2Kvz−C2AC2−1e˙I+C2Kpz−C2AC2−1C1e=−C2Kfzef.Equation (20) shows the relationships among the sliding mode control parameters when the robot reaches the sliding surface. A comparison between equations (20) and (16) shows that these equations have the same configuration. If the coefficients of the corresponding variables in the two equations are the same, the effect of the hybrid impedance control is realized while running the sliding mode control. By combining equation (16) with equation (20), the expressions of Kpz, Kvz, and Kfz are obtained as(21)Kvz=C2−1Md−1Cd+C2AC2−1,Kpz=C2−1Md−1Kd+C2AC2−1C1,Kfz=C2−1Md−1.By fine tuningKpz, Kvz, and Kfz, the designed sliding mode manifold can be implemented with the hybrid impedance control mentioned above. To meet the arrival conditions of the closed-loop system, the equivalent control law is designed as follows:(22)Teq=M⌢xx¨eq+C⌢xx˙eq+G⌢x+F⌢f−F⌢−Ds,where M⌢x, C⌢x, G⌢x, F⌢f, and F⌢ have the same meaning as the corresponding variables in equation (6), the hat “⌒” means that actual dynamics model may contain certain modelling errors, and F⌢ is estimated by the disturbance observer designed in Section 4; x˙eq=Sx˙d−C1e−C2z is the equivalent velocity, and it is easy to know that s=x˙−x˙eq; x¨eq=Sx¨d−C1e˙−C2z˙ is the equivalent acceleration; and D is a well-designed positive definite matrix.For the system to eventually reach the sliding surface, which means thats=0, the overall control algorithm is designed as follows:(23)TA=Teq−εsgns=M⌢xx¨eq+C⌢xx˙eq+G⌢x+F⌢f−F⌢−Ds−εsgns,where ε>0, sgns=sgns1,…,sgnsnT, and si,i=1,2,…,n, represent the elements of the sliding mode manifold corresponding to the dimension.


### 5.4. Proof of the Stability of the Control Algorithm

It is mentioned in Section3 that aTM˙−2Ca=0 is a property of the robot dynamics equation in the joint space. A derivation is given here that the robot dynamics equation in the Cartesian space also has such a property. By constructing an expression 1/2x˙TMxx˙ about Mx and x˙ as well as by substituting equation (5) into the expression, the following equation is obtained:(24)12x˙TMxx˙=12Jq˙TJ−TMJ−1Jq˙=12q˙TMq˙.Simultaneously calculating the differentials of both sides of equation (24) gives the following derivation:(25)12x˙TM˙xx˙+x˙TMxx¨=12q˙TM˙q˙+q˙TMq¨=q˙TCq˙+q˙TMq¨=q˙TCq˙+q˙TJTJ−TMJ−1Jq¨=q˙TCq˙+q˙TJTJ−TMJ−1x¨−J˙q˙=q˙TCq˙−q˙TMJ−1J˙q˙+x˙TMxx¨=q˙TJTJ−TC−MJ−1J˙J−1Jq˙+x˙TMxx¨=x˙TCxx˙+x˙TMxx¨.It is obvious thatx˙TM˙x−2Cxx˙=0, which means M˙x−2Cx is an antisymmetric matrix. Additionally, this matrix can be generalized to any column vector. On this basis, the Lyapunov function is defined as follows [23]:(26)V=12sTM⌢xs,where s is the sliding mode manifold and M⌢x is the actual inertia matrix of the robot dynamics model in the Cartesian space.It is easy to know from the property of the dynamics equation thatM⌢x is positive, which means V≥0 is always true. By calculating the differential of equation (26) and by substituting equations (6), (22), and (23) into the result, the following derivation is obtained:(27)V˙=12sTM⌢˙xs+sTM⌢xs˙=sTC⌢xs+sTM⌢xx¨−x¨eq=sTC⌢xs+sTM⌢xx¨−sTM⌢xx¨eq=sTC⌢xs+sTT−C⌢xx˙−G⌢x−F⌢f+F⌢−sTTeq−C⌢xx˙eq−G⌢x−F⌢f+F⌢+Ds=sTC⌢xs+sTT−Teq−sTC⌢xx˙−x˙eq−sTDs=sTC⌢xs−sTC⌢xs−sTDs+sT−εsgns=−sTDs−sTεsgns.Whens=0, it is obvious that V˙=0. When s≠0, sgns can be written as s/s. Then, equation (27) becomes V˙=−sTDs−sTε/ss. Since ε>0, ε/s>0 is always true. Because D is designed as a positive definite matrix, when s≠0, V>0, and V˙<0 always hold true, the system is stable in the sense of Lyapunov after the robot enters the sliding mode movement.


### 5.5. Control Method Implementation

A general industrial robot is used in the experiment. Since the bottom control layer of the robot is position control, it is necessary to convert the obtained torque control amountTA into the position adjustment amount XA. Then, according to the position adjustment amount calculated in the current control cycle, the desired position of the robot in the next control cycle is modified. According to equation (6), there is the following equation:(28)MxAX¨A+CxAX˙A+GxA+FfA−F⌢=TA,where X˙A and X¨A are the change in velocity and the change in acceleration caused by TA and MxA, CxA, GxA, and FfA are, respectively, the corresponding inertia matrix, the Coriolis force and centrifugal force matrix, the gravity term, and the joint friction term.By substituting equations (22) and (23) into equation (28), the following equation is obtained:(29)MxAX¨A+CxAX˙A+GxA+FfA−F⌢A=M⌢xx¨eq+C⌢xx˙eq+G⌢x+F⌢f−F⌢−Ds−εsgns.Since the control cycle of the robot control system is at the millisecond level, the amounts of position change and velocity change per control cycle are both very small. Therefore, assuming thatMxA=M⌢x, CxA=C⌢x, GxA=G⌢x, FfA=F⌢f, and F⌢A=F⌢, equation (29) can be approximated as follows:(30)MxAX¨A+CxAX˙A=M⌢xx¨eq+C⌢xx˙eq−Ds−εsgns=TA′.For each control cycle, equation (30) is considered the first-order ordinary differential equation for X˙A, and the numerical solution of equation (30) is calculated using the modified Euler’s formula. The position adjustment amount XA can be approximated as follows:(31)XA=X˙A⋅dT,where dT is the robot control cycle and is set as 1 ms in this paper.After addingXA to the desired Cartesian position in the next control cycle and solving the inverse kinematics based on the modified Cartesian position, the proposed control algorithm can be implemented by sending the recalculated joint position values to the robot.Figure5 shows the flow chart of the hybrid sliding mode impedance controller. DO is the disturbance observer designed in Section 4. It takes the actual trajectories q, q˙, and q¨ as well as the joint torque τ as inputs and calculates the estimated contact force F⌢ for the force control algorithm. qd, q˙d, and q¨d represent the desired trajectories in the joint space. The desired trajectories and actual trajectories of the robot in the joint space are first transformed into the corresponding values xd, x˙d, and x¨d and x, x˙, and x¨ in the Cartesian space. Then, the values are transmitted along with the estimated contact force F⌢ to the hybrid sliding mode impedance controller. The hybrid sliding mode impedance controller calculates the control torque and then obtains the position adjustment amount in the Cartesian space by numerical solution. The inverse kinematics of the robot is used to obtain the desired joint position in the next control cycle. Finally, this position is sent by the industrial computer through the servo driver to the robot servo motor for real-time adjustment, thus realizing the disturbance observer-based hybrid sliding mode impedance control of the robot end contact force.Figure 5
Hybrid sliding mode impedance controller flow chart.


## 5.1. Hybrid Impedance Control Principle

Hybrid impedance control is an improved impedance control method that improves the force-tracking performance of control algorithms. A general second-order impedance model is shown as follows [22]:(13)Mdx¨−x¨d+Cdx˙−x˙d+Kdx−xd=−Fe,where Md is the desired inertia matrix; Cd is the desired damping matrix; Kd is the desired stiffness matrix; x, x˙, and x¨ are, respectively, the actual position, velocity, and acceleration in Cartesian coordinates; xd, x˙d, and x¨d are, respectively, the desired position, velocity, and acceleration; and Fe is the contact force.In contact control, position accuracy and force accuracy cannot be achieved simultaneously in one direction. When a desired force in a certain direction is given, the desired position in this direction should not be given. Therefore, the control model in the force control direction is modified into the following equation:(14)Mdx¨+Cdx˙=Fd−Fe,where Fd is the desired contact force.By combining equations (13) and (14), the expression of the hybrid impedance control is shown as(15)Mdx¨−Sx¨d+Cdx˙−Sx˙d+KdSx−xd=I−SFd−Fe,where S is a selection matrix that is diagonal with elements 0 and 1 on the diagonal: element 0 means that the force control is implemented in the corresponding dimension, while element 1 means that the impedance control is implemented.Equation (15) can be rewritten in a concise form as(16)Mde¨I+Cde˙I+Kde=−ef,where e=Sx−xd is the generalized positional error; eI=x−Sxd is used to calculate the generalized velocity error and the generalized acceleration error; and ef=Fe−I−SFd is the generalized force error.


## 5.2. Sliding Mode Control Incorporating Force Information

By adding an auxiliary variablez, the force information of the robot end can be introduced into the general sliding mode control algorithm. z is a parameter designed to be related to hybrid impedance control and implicitly contains force information. A dynamic compensator [23] is established for z as follows:(17)z˙=Az+Kpze−C2−1C1e˙+Kvze˙I+Kfzef,where A is a seminegative constant matrix; Kpz, Kvz, and Kfz are a set of parameters related to impedance control parameters, and their calculation methods will be discussed later; C1 is a constant diagonal matrix; and C2 is a nonsingular constant diagonal matrix.Then, a sliding mode manifold is built bye˙I, e, and z as follows:(18)s=e˙I+C1e+C2z,where s is the sliding mode manifold and C1 and C2 are the same as those in equation (17).According to the sliding mode control’s arrival conditions, lets=0 and s˙=0, and the expressions for z and z˙ are obtained as(19)z=−C2−1e˙I+C1e,z˙=−C2−1e¨I+C1e˙.


## 5.3. Design of the Hybrid Sliding Mode Impedance Control Algorithm

The auxiliary variablez is the key to the relationship between sliding mode control and hybrid impedance control. By substituting equation (19) into equation (18) and by eliminating z and z˙ in the expression, the following equation is obtained after rearrangement:(20)e¨I+C2Kvz−C2AC2−1e˙I+C2Kpz−C2AC2−1C1e=−C2Kfzef.Equation (20) shows the relationships among the sliding mode control parameters when the robot reaches the sliding surface. A comparison between equations (20) and (16) shows that these equations have the same configuration. If the coefficients of the corresponding variables in the two equations are the same, the effect of the hybrid impedance control is realized while running the sliding mode control. By combining equation (16) with equation (20), the expressions of Kpz, Kvz, and Kfz are obtained as(21)Kvz=C2−1Md−1Cd+C2AC2−1,Kpz=C2−1Md−1Kd+C2AC2−1C1,Kfz=C2−1Md−1.By fine tuningKpz, Kvz, and Kfz, the designed sliding mode manifold can be implemented with the hybrid impedance control mentioned above. To meet the arrival conditions of the closed-loop system, the equivalent control law is designed as follows:(22)Teq=M⌢xx¨eq+C⌢xx˙eq+G⌢x+F⌢f−F⌢−Ds,where M⌢x, C⌢x, G⌢x, F⌢f, and F⌢ have the same meaning as the corresponding variables in equation (6), the hat “⌒” means that actual dynamics model may contain certain modelling errors, and F⌢ is estimated by the disturbance observer designed in Section 4; x˙eq=Sx˙d−C1e−C2z is the equivalent velocity, and it is easy to know that s=x˙−x˙eq; x¨eq=Sx¨d−C1e˙−C2z˙ is the equivalent acceleration; and D is a well-designed positive definite matrix.For the system to eventually reach the sliding surface, which means thats=0, the overall control algorithm is designed as follows:(23)TA=Teq−εsgns=M⌢xx¨eq+C⌢xx˙eq+G⌢x+F⌢f−F⌢−Ds−εsgns,where ε>0, sgns=sgns1,…,sgnsnT, and si,i=1,2,…,n, represent the elements of the sliding mode manifold corresponding to the dimension.


## 5.4. Proof of the Stability of the Control Algorithm

It is mentioned in Section3 that aTM˙−2Ca=0 is a property of the robot dynamics equation in the joint space. A derivation is given here that the robot dynamics equation in the Cartesian space also has such a property. By constructing an expression 1/2x˙TMxx˙ about Mx and x˙ as well as by substituting equation (5) into the expression, the following equation is obtained:(24)12x˙TMxx˙=12Jq˙TJ−TMJ−1Jq˙=12q˙TMq˙.Simultaneously calculating the differentials of both sides of equation (24) gives the following derivation:(25)12x˙TM˙xx˙+x˙TMxx¨=12q˙TM˙q˙+q˙TMq¨=q˙TCq˙+q˙TMq¨=q˙TCq˙+q˙TJTJ−TMJ−1Jq¨=q˙TCq˙+q˙TJTJ−TMJ−1x¨−J˙q˙=q˙TCq˙−q˙TMJ−1J˙q˙+x˙TMxx¨=q˙TJTJ−TC−MJ−1J˙J−1Jq˙+x˙TMxx¨=x˙TCxx˙+x˙TMxx¨.It is obvious thatx˙TM˙x−2Cxx˙=0, which means M˙x−2Cx is an antisymmetric matrix. Additionally, this matrix can be generalized to any column vector. On this basis, the Lyapunov function is defined as follows [23]:(26)V=12sTM⌢xs,where s is the sliding mode manifold and M⌢x is the actual inertia matrix of the robot dynamics model in the Cartesian space.It is easy to know from the property of the dynamics equation thatM⌢x is positive, which means V≥0 is always true. By calculating the differential of equation (26) and by substituting equations (6), (22), and (23) into the result, the following derivation is obtained:(27)V˙=12sTM⌢˙xs+sTM⌢xs˙=sTC⌢xs+sTM⌢xx¨−x¨eq=sTC⌢xs+sTM⌢xx¨−sTM⌢xx¨eq=sTC⌢xs+sTT−C⌢xx˙−G⌢x−F⌢f+F⌢−sTTeq−C⌢xx˙eq−G⌢x−F⌢f+F⌢+Ds=sTC⌢xs+sTT−Teq−sTC⌢xx˙−x˙eq−sTDs=sTC⌢xs−sTC⌢xs−sTDs+sT−εsgns=−sTDs−sTεsgns.Whens=0, it is obvious that V˙=0. When s≠0, sgns can be written as s/s. Then, equation (27) becomes V˙=−sTDs−sTε/ss. Since ε>0, ε/s>0 is always true. Because D is designed as a positive definite matrix, when s≠0, V>0, and V˙<0 always hold true, the system is stable in the sense of Lyapunov after the robot enters the sliding mode movement.


## 5.5. Control Method Implementation

A general industrial robot is used in the experiment. Since the bottom control layer of the robot is position control, it is necessary to convert the obtained torque control amountTA into the position adjustment amount XA. Then, according to the position adjustment amount calculated in the current control cycle, the desired position of the robot in the next control cycle is modified. According to equation (6), there is the following equation:(28)MxAX¨A+CxAX˙A+GxA+FfA−F⌢=TA,where X˙A and X¨A are the change in velocity and the change in acceleration caused by TA and MxA, CxA, GxA, and FfA are, respectively, the corresponding inertia matrix, the Coriolis force and centrifugal force matrix, the gravity term, and the joint friction term.By substituting equations (22) and (23) into equation (28), the following equation is obtained:(29)MxAX¨A+CxAX˙A+GxA+FfA−F⌢A=M⌢xx¨eq+C⌢xx˙eq+G⌢x+F⌢f−F⌢−Ds−εsgns.Since the control cycle of the robot control system is at the millisecond level, the amounts of position change and velocity change per control cycle are both very small. Therefore, assuming thatMxA=M⌢x, CxA=C⌢x, GxA=G⌢x, FfA=F⌢f, and F⌢A=F⌢, equation (29) can be approximated as follows:(30)MxAX¨A+CxAX˙A=M⌢xx¨eq+C⌢xx˙eq−Ds−εsgns=TA′.For each control cycle, equation (30) is considered the first-order ordinary differential equation for X˙A, and the numerical solution of equation (30) is calculated using the modified Euler’s formula. The position adjustment amount XA can be approximated as follows:(31)XA=X˙A⋅dT,where dT is the robot control cycle and is set as 1 ms in this paper.After addingXA to the desired Cartesian position in the next control cycle and solving the inverse kinematics based on the modified Cartesian position, the proposed control algorithm can be implemented by sending the recalculated joint position values to the robot.Figure5 shows the flow chart of the hybrid sliding mode impedance controller. DO is the disturbance observer designed in Section 4. It takes the actual trajectories q, q˙, and q¨ as well as the joint torque τ as inputs and calculates the estimated contact force F⌢ for the force control algorithm. qd, q˙d, and q¨d represent the desired trajectories in the joint space. The desired trajectories and actual trajectories of the robot in the joint space are first transformed into the corresponding values xd, x˙d, and x¨d and x, x˙, and x¨ in the Cartesian space. Then, the values are transmitted along with the estimated contact force F⌢ to the hybrid sliding mode impedance controller. The hybrid sliding mode impedance controller calculates the control torque and then obtains the position adjustment amount in the Cartesian space by numerical solution. The inverse kinematics of the robot is used to obtain the desired joint position in the next control cycle. Finally, this position is sent by the industrial computer through the servo driver to the robot servo motor for real-time adjustment, thus realizing the disturbance observer-based hybrid sliding mode impedance control of the robot end contact force.Figure 5
Hybrid sliding mode impedance controller flow chart.


## 6. Experiments of Constant Contact Force-Tracking Control for Robot End

### 6.1. Experimental Device

Figure6 shows the experimental device built in this paper. The robot is a GSK RB03A1 6-axis industrial robot. It has a maximum load of 3 kg, a repeatability of ±0.02 mm, and a radius of motion of 562 mm. Table 1 shows the main parameters of this robot. The robot body is connected with the control cabinet, and it communicates with the industrial computer through the EtherCAT bus protocol. The industrial computer installs a real-time kernel, and the robot control system has been transplanted to the industrial computer. The control cycle is set as 1 ms, and the real-time control of the robot can be realized by sending the command directly from the industrial computer to the servo driver without the teaching box. A force/torque sensor is mounted at the end of the robot, and a flange shaft is mounted on it. The sensor is an ME-FK6D40 6-dimension force/torque sensor, and its main parameters are shown in Table 2. And the sensor is also equipped with a signal amplifier and a Beckhoff communication module. For more information on this sensor, check the following website: https://www.me-systeme.de/shop/en/sensors/force-sensors/k6d/k6d402.Figure 6
Experimental device.Table 1
Basic parameters of the RB03A1 industrial robot.
Joint
Range of motion (°)
Maximum speed (°/s)
Reduction ratio
1
±150
375
81.075
2
+144∼−51
375
80.9656
3
+64∼−131
419
72.4678
4
±150
600
51.0363
5
±120
600
40.5047
6
±360
750
39.7193Table 2
Main parameters of the 6-dimension force/torque sensor.
F
X (N)
F
Y (N)
F
Z (N)
M
X (Nm)
M
Y (Nm)
M
Z (Nm)
Range
200
200
500
5
5
10
Uncertainty
±0.5
±1.5
±2
±0.03
±0.04
±0.06During the experiment, the flange shaft is kept in contact with the environment and transmits the external force to the force sensor. The force sensor signal is first transmitted to the Beckhoff module via the signal amplifier and then transmitted to the robot control cabinet. Finally, this signal is transmitted back to the industrial computer together with the robot motor encoder value, motor velocity value, and motor current value. According to the corresponding formulas, the industrial computer converts the motor encoder value into the actual joint angle value, converts the motor velocity value into the actual joint angular velocity value, and converts the motor current value into the actual joint torque value. The position adjustment amount is calculated by the disturbance observer and the hybrid sliding mode impedance controller, and the updated position command is sent to the servo driver to realize the real-time control of the robot.


### 6.2. Constant Force-Tracking Control Experiment and Result Analysis

In the process of robot trajectory planning, the axial direction of the flange shaft is adjusted to be parallel to theZ-axis direction of the robot base coordinate; that is, the Z direction of the sensor is also parallel to the Z-axis direction of the robot base coordinate.Four experiments have been performed to verify the theoretical feasibility. Experiment 1 is to examine the consistency of the disturbance observer estimation values with force/torque sensor values. Experiment 2 is to examine the feasibility of a hybrid sliding mode impedance controller. Experiment 3 is to test the control performance of the disturbance observer-based hybrid sliding mode impedance controller on a planar workpiece. Experiment 4 is to test the control performance of the disturbance observer-based hybrid sliding mode impedance controller on a curved surface workpiece.


#### 6.2.1. Consistency Test of Disturbance Observer Estimation Values and Force/Torque Sensor Values

In this experiment, the end of the flange shaft is kept in contact with the workpiece, and the linear motion command of the robot controller is set. In addition, only the disturbance observer is operated, and the hybrid sliding mode impedance controller is not operated. Then, the sensor signals and joint motor signals are read. The estimation accuracy of the disturbance observer is analyzed, and the estimation value is compared with the sensor value. The experimental results are shown in Figure7. In Figure 7, the blue line is the original sensor value, the black dashed line is the filtered sensor value, and the red line is the disturbance observer estimation value.Figure 7
Comparison of disturbance observer estimation values and force/torque sensor values. (a)X-direction force. (b) Y-direction force. (c) Z-direction force. (d) X-direction torque. (e) Y-direction torque. (f) Z-direction torque.
(a)
(b)
(c)
(d)
(e)
(f)Figures7(a)–7(c) show a comparison of the force values between the force/torque sensor and the disturbance observer, respectively, in X, Y, and Z directions. From the red lines shown in Figures 7(a) and 7(b), it is found that the forces estimated by the disturbance observer, respectively, in X and Y directions need approximately 6 s to become stable. And the estimated force in the Z direction needs approximately 2 s to become stable, as shown in Figure 7(c). The accuracy of the force estimation in the X direction fails to show the advantages of the disturbance observer. As compared with the filtered sensor value, the deviation after stabilization is up to 7 N, while the force estimation accuracy in Y and Z directions is good; for instance, the force deviation in the Y direction after stabilization is not more than 2.5 N, and that in the Z direction is not more than 3 N.Figures7(d)–7(f) show a comparison of the torque values between the force/torque sensor and the disturbance observer, respectively, in X, Y, and Z directions. From the red lines shown in Figures 7(d) and 7(e), it is found that the external torque estimated by the disturbance observer in X and Y directions needs approximately 6 s to become stable. And the external torque estimated in the Z direction does not substantially fluctuate, as shown in Figure 7(f). The torque estimation accuracy in all 3 directions is good; for instance, the torque deviations in X, Y, and Z directions after stabilization are not more than 2.5 Nm, 3 Nm, and 0.1 Nm, respectively.The lack of precision of the robot dynamics model is responsible for the deviations between the disturbance observer estimation values and the force sensor values. During the experiments, the robot runs at a lower speed. In addition to the noise, the returned motor signals contain some nonnegligible and low-speed nonlinear dynamic characteristics, namely, the low-speed ripple torque characteristic of the motor and the low-speed nonlinear friction characteristics of the robot. The commonly used Fourier series-based dynamic model identification methods are not able to determine these low-speed characteristics well so that an additional complex work is required to complete the modelling of these characteristics.It is found from experimental results that the low-speed characteristic compensation of joint 2 torque can greatly improve the force estimation accuracy and force control precision in theZ direction when it is in contact with the planar workpiece. The low-speed characteristic compensation amount can be summarized by experimental experience. It should be noted that the disturbance observer estimation values shown in Figure 7 are calculated after joint 2 torque is compensated for low-speed characteristics. It can also be found that the force estimation in the Z direction is relatively accurate.


#### 6.2.2. Feasibility Test of the Hybrid Sliding Mode Impedance Controller

In this experiment, the robot runs the same trajectory as that in experiment 1, and the hybrid sliding mode impedance controller is operated with the force sensor value as the control input; however, the disturbance observer is not operated. The relevant data are read, and the control performance of the hybrid sliding mode impedance controller is analyzed and compared. In experiments 2 and 3, 3 different desired forces are set, and these 3 experiments are performed separately.Figure8 shows the contact force in the Z direction when the desired force is set to −30 N, −40 N, and −60 N, in which the blue line represents the original sensor values and the black dashed line represents the filtered sensor values. It can be seen that, under different desired forces, the hybrid sliding mode impedance controller can always quickly adjust the robot motion and stabilize the force in the force control direction at the desired value. After further analysis of the 3 sets of experimental data, it can also be found that the fluctuation of the filtered sensor value near the expected value does not exceed 0.2 N, which means that the control algorithm possesses good control performance.Figure 8
Force control performance of the hybrid sliding mode impedance controller in theZ direction with sensor values as control inputs. The desired force is set to (a) −30 N, (b) −40 N, and (c) −60 N.
(a)
(b)
(c)Figure9 shows the 6-joint torque values of the robot at a desired force of −40 N, with the blue line representing the original sensor values and the black dashed line representing the low-pass filter sensor values. The joint torque values still fluctuate after removing high-frequency Gaussian noise. This is because, in contact force control applications, the robot will operate at a low speed. The nonlinear dynamics of a robot running at low speed cannot simply be classified as noise. Besides, Figure 9 also shows that the low-speed characteristics have a significant influence on the joints 1 and 2, have a slight influence on the joint 3, and have little influence on the joints 4, 5, and 6.Figure 9
Joint torque values at a desired force of −40 N. (a) Joint 1 torque. (b) Joint 2 torque. (c) Joint 3 torque. (d) Joint 4 torque. (e) Joint 5 torque. (f) Joint 6 torque.
(a)
(b)
(c)
(d)
(e)
(f)Because of the limitation of the length of the paper, only the conclusions of the comparison of experimental data are given. For this experimental scenario, the joint torque of joints 4 and 6 does not change much under different desired forces. The reason is that joints 4 and 6 need no additional torque to cope with the changes in external forces during the operation. The motion of joint 1 drives the end of the robot to move in theX-Y plane. The variation of contact force in the Z direction causes the friction force change at the end of the robot in the X-Y plane. The greater the desired force, the greater the extra torque needed for joint 1 to overcome the friction. Joints 2, 3, and 5 have a direct effect on the contact force in the Z direction. Because the movements of these 3 joints directly change the position of the robot end in the Z direction, the contact force is fluctuant. These 3-joint torque values vary greatly depending on the desired force. According to the data analysis, joint 2 torque is mainly affected by the change of the external force. This also explains why the low-speed characteristic compensation of joint 2 torque can greatly improve the force estimation accuracy of the disturbance observer in the Z direction.


#### 6.2.3. Control Performance Test of Disturbance Observer-Based Hybrid Sliding Mode Impedance Controller on a Planar Workpiece

In this experiment, the robot runs the same trajectory as that in experiment 1. The disturbance observer is operated, and at the same time, the hybrid sliding mode impedance controller is operated with the disturbance observer estimation values as control inputs, and then the relevant data are read. The control performance of the disturbance observer-based robot end contact force controller is analyzed and compared.Through trial and empirical summarization, the parameterKI in the disturbance observer is set to KI = diag(1, 10, 5, 0.5, 1, 0.01). The selection matrix S in the hybrid sliding mode impedance controller, the desired impedance parameters Md, Cd, and Kd, the sliding mode parameters C1 and C2, the dynamic compensator parameter A, and the controller parameters D and ε are, respectively, set as follows: S = diag(1, 1, 0, 1, 1, 1), Md = diag(100, 100, 5, 100, 100, 100), Cd = diag(5, 5, 5, 5, 5, 5), Kd = diag(5, 5, 5, 5, 5, 5), C1 = diag(0.1, 0.1, 0.1, 0, 0, 0), C2 = diag(0.001, 0.001, 0.1, 0.001, 0.001), A = diag(−0.1, −0.1, −0.2, 0, 0, 0), D = diag(0.5, 0.5, 1, 0.1, 0.1, 0.1), and ε = 0.01.The relevant experimental results are shown in Figure10. Here are some additional explanations for the experimental process. In experiment 1, it is known that the value estimated by the disturbance observer in the Z direction takes approximately 2 s to converge to the vicinity of the true value. Therefore, the disturbance observer is started simultaneously while the robot begins to run. The hybrid sliding mode impedance controller is only operated after the disturbance observer has been operated for 2 s. In the actual experiments, it is also found that when the hybrid sliding mode impedance controller starts to operate, it is necessary to limit the adjustment of the controller output at the very beginning. Otherwise, the robot will easily jump in the Z direction, and the force will greatly oscillate within a certain period of time. Unlike experiment 2, in which the robot force in the Z direction is rapidly stabilized to the desired value, the force in the Z direction in experiment 3 gently changes to the desired value. The length of time required for this transition depends on not only the difference between the actual force value and the set desired value at the start of the controller but also the upper limit of the set amount of adjustment. In the experiment, for the convenience of operation, the transition period is set to 4 s in the program; that is, the adjustment amount is limited within the first 4 s of the hybrid sliding mode impedance controller’s operation.Figure 10
Control performance of the disturbance observer-based hybrid sliding mode impedance controller in theZ direction. The desired force is set to (a) −30 N, (b) −40 N, and (c) −60 N.
(a)
(b)
(c)Figures10(a)–10(c) show the control performance when the desired force is set to −30 N, −40 N, and −60 N, in which the blue line represents the original sensor values, the black dashed line represents the filtered sensor values, the red line represents the disturbance observer estimation values, and the two green parallel dotted lines represent the desired force of ±3 N. The disturbance observer and the hybrid sliding mode impedance controller take 6 s in total to become stable, so the data 6 s after the robot motion start are compared and analyzed. Although the control performance of the hybrid sliding mode impedance controller with disturbance observer estimation values as control inputs is not as good as that of the hybrid sliding mode impedance controller with sensor values as control inputs, for different desired forces, the disturbance observer-based hybrid sliding mode impedance control can stabilize the Z-direction force near the desired value. Specifically, both the filtered sensor value and the disturbance observer-estimated value in the Z direction fluctuate within a range of the desired value ±3 N and slightly exceed the range for a very small amount of time. At most moments, the original sensor value also fluctuates within a range of the desired value ±3 N, and the fluctuations in the remaining moments rarely exceed the range of the desired value ±5 N. Table 3 lists a comparison of some experimental data. The “maximum deviation” in the table refers to the maximum absolute value of the difference between the two groups of data. From Table 3, it is found that as the desired force increases, the root-mean-square error tends to decrease, and the control performance becomes better when the desired force increases.Table 3
Comparison of experimental data.
Expected force (N)
Comparison between filtered sensor values and expected force
Comparison between disturbance observer values and expected force
Comparison between disturbance observer values and filtered sensor values
Maximum deviation (N)
RMSE
Maximum deviation (N)
RMSE
Maximum deviation (N)
RMSE
−30
2.97
1.37
2.91
1.35
3.60
1.59
−40
3.39
1.29
2.67
0.87
4.15
1.41
−60
3.17
1.05
3.05
0.87
3.96
1.16


#### 6.2.4. Control Performance Test of Disturbance Observer-Based Hybrid Sliding Mode Impedance Controller on a Curved Surface Workpiece

Experiment 4 verifies the control performance of the disturbance observer-based hybrid sliding mode impedance control method on a curved surface workpiece. As shown in Figure11, points A and B on the curved surface workpiece are randomly determined before the experiment. The desired force in the Z direction is set to −15 N, and the force/torque sensor values are taken as control inputs of the proportional controller to run a two-point linear motion command on the surface. By setting the desired force in the Z direction, the robot maintains the end of the flange shaft in contact with the workpiece and moves a curved path on its surface. This trajectory is the planning trajectory of experiment 4. Figure 12 shows the three-dimensional view of the curved planning trajectory relative to the robot base coordinate system and its X, Y, and Z components. It can be seen that the trajectory is a simple curve, which is linear in X and Y directions and is nonlinear in the Z direction. Then, the desired force is set to −10 N, the disturbance observer estimation values are taken as control inputs, and the contact force control experiment in the Z direction is performed by the hybrid sliding mode impedance controller and a common impedance controller.Figure 11
Curved surface workpiece and curved planning trajectory. (a) Experimental device. (b) Schematic diagram of the trajectory.
(a)
(b)Figure 12
Curved planning trajectory relative to the base coordinate system. (a) 3D view of the curved trajectory. (b)X component of the curved trajectory. (c) Y component of the curved trajectory. (d) Z component of the curved trajectory.
(a)
(b)
(c)
(d)Because of the higher demand for precision of the constant force control on a curved surface, a force sensor and an iterative compensation method are used to obtain the compensation component of the low-speed nonlinear dynamic characteristics, and the correction of the disturbance observer estimation values is completed. Finally, the constant force control in theZ direction is realized without force/torque sensors. The compensation steps are as follows:(1)
If the planning trajectory is run for the first time, the joint torque compensation values are set to 0. The disturbance observer estimation values are taken as control inputs, the desired force is set to −10 N, and the curve planning trajectory is run.(2)
The differences between the force sensor values and the disturbance observer values are calculated. The joint torque compensation values are calculated by the Jacobian matrix and these differences.(3)
The joint torque compensation value is accumulated and written into the disturbance observer. Steps 1∼3 are repeated until a satisfactory contact force control performance is obtained.Steps 2 and 3 are performed when the robot is offline. These compensation steps are essentially a method of force/torque sensor calibration to determine the specific low-speed nonlinear dynamics compensations. The force/torque sensor values are not directly used in the force control method in step 1.Figure13 shows the experimental data for Z-direction force control on a curved surface. Figure 13(a) shows the Z-direction force value when the planned trajectory is run without the force control algorithm. Figures 13(b)–13(d) show the results of the Z-direction force control experiments when the desired force is set to −10 N and the disturbance observer estimation values are taken as control inputs. Figures 13(b) and 13(c) use a hybrid sliding mode impedance controller, and Figure 13(d) uses an ordinary impedance controller. Figure 13(b) does not compensate low-speed nonlinear dynamics. Figures 13(c) and 13(d) perform iterative compensation for 8 times to compensate low-speed nonlinear dynamics. In Figure 13, the blue line represents the original force/torque sensor values, the black dashed line represents the filtered force/torque sensor values, and the red line represents the disturbance observer estimation values.Figure 13
Contact force control experiment in theZ direction on a curved surface. (a) Without force controller. (b) Hybrid controller without compensation. (c) Hybrid controller with compensation. (d) Ordinary controller with compensation.
(a)
(b)
(c)
(d)By comparing Figures13(b) and 13(c), it can be seen that, after iteratively compensating the low-speed nonlinear dynamics, the accuracy of the force value in the Z direction estimated by the disturbance observer and the force control precision in the Z direction by the hybrid sliding mode impedance controller are significantly improved. By comparing Figures 13(c) and 13(d), it can be seen that, after the same times of iterative compensations, the hybrid sliding mode impedance controller possesses better force control performance in the Z direction than an ordinary impedance controller. Because of the low-speed nonlinear dynamics compensation, the time required for the disturbance observer to reach stability is greatly reduced. Tables 4–6 compare the Z-direction force control errors in Figures 13(b)–13(d). The comparison terms include maximum deviation and root-mean-square error between the disturbance observer estimation value and the desired force, maximum deviation and root-mean-square error between the filtered force/torque sensor value and the desired force, and maximum deviation and root-mean-square error between the disturbance observer estimation value and the filtered force/torque sensor value.Table 4
Comparison ofZ-direction force control errors in Figure 13(b).
Comparison terms
Maximum deviation (N)
Root-mean-square error
Observer estimation value and desired force
4.5435
0.8250
Filtered sensor value and desired force
5.6338
1.7167
Observer estimation value and filtered sensor value
5.6250
1.9019Table 5
Comparison ofZ-direction force control errors in Figure 13(c).
Comparison terms
Maximum deviation (N)
Root-mean-square error
Observer estimation value and desired force
1.1515
0.4122
Filtered sensor value and desired force
2.7768
0.8402
Observer estimation value and filtered sensor value
2.6767
0.8482Table 6
Comparison ofZ-direction force control errors in Figure 13(d).
Comparison terms
Maximum deviation (N)
Root-mean-square error
Observer estimation value and desired force
1.2890
0.4028
Filtered sensor value and desired force
2.8464
1.0827
Observer estimation value and filtered sensor value
3.0292
1.1311By comparing Tables4 and 5, it can be seen that the force control performance is better after the iterative compensation for low-speed nonlinear dynamics, and the control error is reduced by 50%, as compared to those methods without compensation. By comparing Tables 5 and 6, it can be seen that, under the same desired force and the same times of iterative compensation, the control performance of the hybrid sliding mode impedance controller is better than that of an ordinary impedance controller. The maximum deviations of the 3 comparison items in Table 5 are smaller than those in Table 6, which are reduced by 10.67%, 2.45%, and 11.64%, respectively. The root-mean-square error of the observer estimation value and desired force in Table 5 is slightly larger than that in Table 6 by 2.33%, while the root-mean-square error of the other 2 comparison items in Table 5 are smaller than those in Table 6, which is reduced by 22.40% and 25.01%, respectively. The filtered force sensor value is used as the theoretical true value of the contact force, and the proximity of the filtered value to the desired force is used as the criterion for determining the performance of the force control algorithm. On the whole, when the hybrid sliding mode impedance controller is operated, the filtered force/torque sensor value has a smaller deviation from the desired force, the force control performance is better, and the difference between the disturbance observer estimation value and the filtered force/torque sensor value is smaller. At present, the research on the universality of the proposed constant force control method without a force/torque sensor is still not deep enough. The proposed constant force control method is implemented on a relatively simple curved surface with a small curvature change, and no verification is performed on a complex curved surface.In general, although the disturbance observer estimation values deviate from the filtered sensor values, the trends of the two sets of values are consistent. Although these two trends are the same, they are not completely synchronous but have a certain time interval. The inaccuracy of the robot dynamics model is one of the reasons that affect the control performance. The low-speed nonlinear dynamics of the robot has an impact on the estimation accuracy and control accuracy. These reasons include inaccurate modelling of friction and the presence of certain unmodelled dynamics in the mechanical drive train, such as uncompensated reducer dynamics. In addition, the fluctuation of the robot’s electrical system also has a certain impact, which is manifested in the fact that even if the robot is not in contact with the environment, when the same motion instruction is run multiple times, the corresponding data that are read are always slightly different. Moreover, unlike the sensor-based control method, the input and output of the disturbance observer-based hybrid sliding mode impedance control method have a certain coupling relationship. The inputs of the disturbance observer are the internal signals of the robot, and the outputs of the hybrid sliding mode impedance controller are also these internal signals. On the one hand, the estimated output value of the disturbance observer is the basis for the hybrid sliding mode impedance controller to calculate the adjustment amount. On the other hand, the controller adjusts the robot to change the internal signal, thereby affecting the output value of the disturbance observer. The robot end contact force control method based on the disturbance observer and the hybrid sliding mode impedance controller is actually a complex balance of internal signals when the robot is in contact with the environment. In contrast, sensor-based force control methods are aided by an external reference, and the controller’s input and output are not coupled. As long as the sensor values are correct, it is easier to obtain the desired control performance. This is also the reason why the control performance in the third part experiment is not as good as that in the second part. Although the adjustments were output by the same controller, the control performance in experiment 2 with the sensor value as the input is better than that in experiment 3 with the disturbance observer estimation value as the input.


## 6.1. Experimental Device

Figure6 shows the experimental device built in this paper. The robot is a GSK RB03A1 6-axis industrial robot. It has a maximum load of 3 kg, a repeatability of ±0.02 mm, and a radius of motion of 562 mm. Table 1 shows the main parameters of this robot. The robot body is connected with the control cabinet, and it communicates with the industrial computer through the EtherCAT bus protocol. The industrial computer installs a real-time kernel, and the robot control system has been transplanted to the industrial computer. The control cycle is set as 1 ms, and the real-time control of the robot can be realized by sending the command directly from the industrial computer to the servo driver without the teaching box. A force/torque sensor is mounted at the end of the robot, and a flange shaft is mounted on it. The sensor is an ME-FK6D40 6-dimension force/torque sensor, and its main parameters are shown in Table 2. And the sensor is also equipped with a signal amplifier and a Beckhoff communication module. For more information on this sensor, check the following website: https://www.me-systeme.de/shop/en/sensors/force-sensors/k6d/k6d402.Figure 6
Experimental device.Table 1
Basic parameters of the RB03A1 industrial robot.
Joint
Range of motion (°)
Maximum speed (°/s)
Reduction ratio
1
±150
375
81.075
2
+144∼−51
375
80.9656
3
+64∼−131
419
72.4678
4
±150
600
51.0363
5
±120
600
40.5047
6
±360
750
39.7193Table 2
Main parameters of the 6-dimension force/torque sensor.
F
X (N)
F
Y (N)
F
Z (N)
M
X (Nm)
M
Y (Nm)
M
Z (Nm)
Range
200
200
500
5
5
10
Uncertainty
±0.5
±1.5
±2
±0.03
±0.04
±0.06During the experiment, the flange shaft is kept in contact with the environment and transmits the external force to the force sensor. The force sensor signal is first transmitted to the Beckhoff module via the signal amplifier and then transmitted to the robot control cabinet. Finally, this signal is transmitted back to the industrial computer together with the robot motor encoder value, motor velocity value, and motor current value. According to the corresponding formulas, the industrial computer converts the motor encoder value into the actual joint angle value, converts the motor velocity value into the actual joint angular velocity value, and converts the motor current value into the actual joint torque value. The position adjustment amount is calculated by the disturbance observer and the hybrid sliding mode impedance controller, and the updated position command is sent to the servo driver to realize the real-time control of the robot.


## 6.2. Constant Force-Tracking Control Experiment and Result Analysis

In the process of robot trajectory planning, the axial direction of the flange shaft is adjusted to be parallel to theZ-axis direction of the robot base coordinate; that is, the Z direction of the sensor is also parallel to the Z-axis direction of the robot base coordinate.Four experiments have been performed to verify the theoretical feasibility. Experiment 1 is to examine the consistency of the disturbance observer estimation values with force/torque sensor values. Experiment 2 is to examine the feasibility of a hybrid sliding mode impedance controller. Experiment 3 is to test the control performance of the disturbance observer-based hybrid sliding mode impedance controller on a planar workpiece. Experiment 4 is to test the control performance of the disturbance observer-based hybrid sliding mode impedance controller on a curved surface workpiece.


### 6.2.1. Consistency Test of Disturbance Observer Estimation Values and Force/Torque Sensor Values

In this experiment, the end of the flange shaft is kept in contact with the workpiece, and the linear motion command of the robot controller is set. In addition, only the disturbance observer is operated, and the hybrid sliding mode impedance controller is not operated. Then, the sensor signals and joint motor signals are read. The estimation accuracy of the disturbance observer is analyzed, and the estimation value is compared with the sensor value. The experimental results are shown in Figure7. In Figure 7, the blue line is the original sensor value, the black dashed line is the filtered sensor value, and the red line is the disturbance observer estimation value.Figure 7
Comparison of disturbance observer estimation values and force/torque sensor values. (a)X-direction force. (b) Y-direction force. (c) Z-direction force. (d) X-direction torque. (e) Y-direction torque. (f) Z-direction torque.
(a)
(b)
(c)
(d)
(e)
(f)Figures7(a)–7(c) show a comparison of the force values between the force/torque sensor and the disturbance observer, respectively, in X, Y, and Z directions. From the red lines shown in Figures 7(a) and 7(b), it is found that the forces estimated by the disturbance observer, respectively, in X and Y directions need approximately 6 s to become stable. And the estimated force in the Z direction needs approximately 2 s to become stable, as shown in Figure 7(c). The accuracy of the force estimation in the X direction fails to show the advantages of the disturbance observer. As compared with the filtered sensor value, the deviation after stabilization is up to 7 N, while the force estimation accuracy in Y and Z directions is good; for instance, the force deviation in the Y direction after stabilization is not more than 2.5 N, and that in the Z direction is not more than 3 N.Figures7(d)–7(f) show a comparison of the torque values between the force/torque sensor and the disturbance observer, respectively, in X, Y, and Z directions. From the red lines shown in Figures 7(d) and 7(e), it is found that the external torque estimated by the disturbance observer in X and Y directions needs approximately 6 s to become stable. And the external torque estimated in the Z direction does not substantially fluctuate, as shown in Figure 7(f). The torque estimation accuracy in all 3 directions is good; for instance, the torque deviations in X, Y, and Z directions after stabilization are not more than 2.5 Nm, 3 Nm, and 0.1 Nm, respectively.The lack of precision of the robot dynamics model is responsible for the deviations between the disturbance observer estimation values and the force sensor values. During the experiments, the robot runs at a lower speed. In addition to the noise, the returned motor signals contain some nonnegligible and low-speed nonlinear dynamic characteristics, namely, the low-speed ripple torque characteristic of the motor and the low-speed nonlinear friction characteristics of the robot. The commonly used Fourier series-based dynamic model identification methods are not able to determine these low-speed characteristics well so that an additional complex work is required to complete the modelling of these characteristics.It is found from experimental results that the low-speed characteristic compensation of joint 2 torque can greatly improve the force estimation accuracy and force control precision in theZ direction when it is in contact with the planar workpiece. The low-speed characteristic compensation amount can be summarized by experimental experience. It should be noted that the disturbance observer estimation values shown in Figure 7 are calculated after joint 2 torque is compensated for low-speed characteristics. It can also be found that the force estimation in the Z direction is relatively accurate.


### 6.2.2. Feasibility Test of the Hybrid Sliding Mode Impedance Controller

In this experiment, the robot runs the same trajectory as that in experiment 1, and the hybrid sliding mode impedance controller is operated with the force sensor value as the control input; however, the disturbance observer is not operated. The relevant data are read, and the control performance of the hybrid sliding mode impedance controller is analyzed and compared. In experiments 2 and 3, 3 different desired forces are set, and these 3 experiments are performed separately.Figure8 shows the contact force in the Z direction when the desired force is set to −30 N, −40 N, and −60 N, in which the blue line represents the original sensor values and the black dashed line represents the filtered sensor values. It can be seen that, under different desired forces, the hybrid sliding mode impedance controller can always quickly adjust the robot motion and stabilize the force in the force control direction at the desired value. After further analysis of the 3 sets of experimental data, it can also be found that the fluctuation of the filtered sensor value near the expected value does not exceed 0.2 N, which means that the control algorithm possesses good control performance.Figure 8
Force control performance of the hybrid sliding mode impedance controller in theZ direction with sensor values as control inputs. The desired force is set to (a) −30 N, (b) −40 N, and (c) −60 N.
(a)
(b)
(c)Figure9 shows the 6-joint torque values of the robot at a desired force of −40 N, with the blue line representing the original sensor values and the black dashed line representing the low-pass filter sensor values. The joint torque values still fluctuate after removing high-frequency Gaussian noise. This is because, in contact force control applications, the robot will operate at a low speed. The nonlinear dynamics of a robot running at low speed cannot simply be classified as noise. Besides, Figure 9 also shows that the low-speed characteristics have a significant influence on the joints 1 and 2, have a slight influence on the joint 3, and have little influence on the joints 4, 5, and 6.Figure 9
Joint torque values at a desired force of −40 N. (a) Joint 1 torque. (b) Joint 2 torque. (c) Joint 3 torque. (d) Joint 4 torque. (e) Joint 5 torque. (f) Joint 6 torque.
(a)
(b)
(c)
(d)
(e)
(f)Because of the limitation of the length of the paper, only the conclusions of the comparison of experimental data are given. For this experimental scenario, the joint torque of joints 4 and 6 does not change much under different desired forces. The reason is that joints 4 and 6 need no additional torque to cope with the changes in external forces during the operation. The motion of joint 1 drives the end of the robot to move in theX-Y plane. The variation of contact force in the Z direction causes the friction force change at the end of the robot in the X-Y plane. The greater the desired force, the greater the extra torque needed for joint 1 to overcome the friction. Joints 2, 3, and 5 have a direct effect on the contact force in the Z direction. Because the movements of these 3 joints directly change the position of the robot end in the Z direction, the contact force is fluctuant. These 3-joint torque values vary greatly depending on the desired force. According to the data analysis, joint 2 torque is mainly affected by the change of the external force. This also explains why the low-speed characteristic compensation of joint 2 torque can greatly improve the force estimation accuracy of the disturbance observer in the Z direction.


### 6.2.3. Control Performance Test of Disturbance Observer-Based Hybrid Sliding Mode Impedance Controller on a Planar Workpiece

In this experiment, the robot runs the same trajectory as that in experiment 1. The disturbance observer is operated, and at the same time, the hybrid sliding mode impedance controller is operated with the disturbance observer estimation values as control inputs, and then the relevant data are read. The control performance of the disturbance observer-based robot end contact force controller is analyzed and compared.Through trial and empirical summarization, the parameterKI in the disturbance observer is set to KI = diag(1, 10, 5, 0.5, 1, 0.01). The selection matrix S in the hybrid sliding mode impedance controller, the desired impedance parameters Md, Cd, and Kd, the sliding mode parameters C1 and C2, the dynamic compensator parameter A, and the controller parameters D and ε are, respectively, set as follows: S = diag(1, 1, 0, 1, 1, 1), Md = diag(100, 100, 5, 100, 100, 100), Cd = diag(5, 5, 5, 5, 5, 5), Kd = diag(5, 5, 5, 5, 5, 5), C1 = diag(0.1, 0.1, 0.1, 0, 0, 0), C2 = diag(0.001, 0.001, 0.1, 0.001, 0.001), A = diag(−0.1, −0.1, −0.2, 0, 0, 0), D = diag(0.5, 0.5, 1, 0.1, 0.1, 0.1), and ε = 0.01.The relevant experimental results are shown in Figure10. Here are some additional explanations for the experimental process. In experiment 1, it is known that the value estimated by the disturbance observer in the Z direction takes approximately 2 s to converge to the vicinity of the true value. Therefore, the disturbance observer is started simultaneously while the robot begins to run. The hybrid sliding mode impedance controller is only operated after the disturbance observer has been operated for 2 s. In the actual experiments, it is also found that when the hybrid sliding mode impedance controller starts to operate, it is necessary to limit the adjustment of the controller output at the very beginning. Otherwise, the robot will easily jump in the Z direction, and the force will greatly oscillate within a certain period of time. Unlike experiment 2, in which the robot force in the Z direction is rapidly stabilized to the desired value, the force in the Z direction in experiment 3 gently changes to the desired value. The length of time required for this transition depends on not only the difference between the actual force value and the set desired value at the start of the controller but also the upper limit of the set amount of adjustment. In the experiment, for the convenience of operation, the transition period is set to 4 s in the program; that is, the adjustment amount is limited within the first 4 s of the hybrid sliding mode impedance controller’s operation.Figure 10
Control performance of the disturbance observer-based hybrid sliding mode impedance controller in theZ direction. The desired force is set to (a) −30 N, (b) −40 N, and (c) −60 N.
(a)
(b)
(c)Figures10(a)–10(c) show the control performance when the desired force is set to −30 N, −40 N, and −60 N, in which the blue line represents the original sensor values, the black dashed line represents the filtered sensor values, the red line represents the disturbance observer estimation values, and the two green parallel dotted lines represent the desired force of ±3 N. The disturbance observer and the hybrid sliding mode impedance controller take 6 s in total to become stable, so the data 6 s after the robot motion start are compared and analyzed. Although the control performance of the hybrid sliding mode impedance controller with disturbance observer estimation values as control inputs is not as good as that of the hybrid sliding mode impedance controller with sensor values as control inputs, for different desired forces, the disturbance observer-based hybrid sliding mode impedance control can stabilize the Z-direction force near the desired value. Specifically, both the filtered sensor value and the disturbance observer-estimated value in the Z direction fluctuate within a range of the desired value ±3 N and slightly exceed the range for a very small amount of time. At most moments, the original sensor value also fluctuates within a range of the desired value ±3 N, and the fluctuations in the remaining moments rarely exceed the range of the desired value ±5 N. Table 3 lists a comparison of some experimental data. The “maximum deviation” in the table refers to the maximum absolute value of the difference between the two groups of data. From Table 3, it is found that as the desired force increases, the root-mean-square error tends to decrease, and the control performance becomes better when the desired force increases.Table 3
Comparison of experimental data.
Expected force (N)
Comparison between filtered sensor values and expected force
Comparison between disturbance observer values and expected force
Comparison between disturbance observer values and filtered sensor values
Maximum deviation (N)
RMSE
Maximum deviation (N)
RMSE
Maximum deviation (N)
RMSE
−30
2.97
1.37
2.91
1.35
3.60
1.59
−40
3.39
1.29
2.67
0.87
4.15
1.41
−60
3.17
1.05
3.05
0.87
3.96
1.16


### 6.2.4. Control Performance Test of Disturbance Observer-Based Hybrid Sliding Mode Impedance Controller on a Curved Surface Workpiece

Experiment 4 verifies the control performance of the disturbance observer-based hybrid sliding mode impedance control method on a curved surface workpiece. As shown in Figure11, points A and B on the curved surface workpiece are randomly determined before the experiment. The desired force in the Z direction is set to −15 N, and the force/torque sensor values are taken as control inputs of the proportional controller to run a two-point linear motion command on the surface. By setting the desired force in the Z direction, the robot maintains the end of the flange shaft in contact with the workpiece and moves a curved path on its surface. This trajectory is the planning trajectory of experiment 4. Figure 12 shows the three-dimensional view of the curved planning trajectory relative to the robot base coordinate system and its X, Y, and Z components. It can be seen that the trajectory is a simple curve, which is linear in X and Y directions and is nonlinear in the Z direction. Then, the desired force is set to −10 N, the disturbance observer estimation values are taken as control inputs, and the contact force control experiment in the Z direction is performed by the hybrid sliding mode impedance controller and a common impedance controller.Figure 11
Curved surface workpiece and curved planning trajectory. (a) Experimental device. (b) Schematic diagram of the trajectory.
(a)
(b)Figure 12
Curved planning trajectory relative to the base coordinate system. (a) 3D view of the curved trajectory. (b)X component of the curved trajectory. (c) Y component of the curved trajectory. (d) Z component of the curved trajectory.
(a)
(b)
(c)
(d)Because of the higher demand for precision of the constant force control on a curved surface, a force sensor and an iterative compensation method are used to obtain the compensation component of the low-speed nonlinear dynamic characteristics, and the correction of the disturbance observer estimation values is completed. Finally, the constant force control in theZ direction is realized without force/torque sensors. The compensation steps are as follows:(1)
If the planning trajectory is run for the first time, the joint torque compensation values are set to 0. The disturbance observer estimation values are taken as control inputs, the desired force is set to −10 N, and the curve planning trajectory is run.(2)
The differences between the force sensor values and the disturbance observer values are calculated. The joint torque compensation values are calculated by the Jacobian matrix and these differences.(3)
The joint torque compensation value is accumulated and written into the disturbance observer. Steps 1∼3 are repeated until a satisfactory contact force control performance is obtained.Steps 2 and 3 are performed when the robot is offline. These compensation steps are essentially a method of force/torque sensor calibration to determine the specific low-speed nonlinear dynamics compensations. The force/torque sensor values are not directly used in the force control method in step 1.Figure13 shows the experimental data for Z-direction force control on a curved surface. Figure 13(a) shows the Z-direction force value when the planned trajectory is run without the force control algorithm. Figures 13(b)–13(d) show the results of the Z-direction force control experiments when the desired force is set to −10 N and the disturbance observer estimation values are taken as control inputs. Figures 13(b) and 13(c) use a hybrid sliding mode impedance controller, and Figure 13(d) uses an ordinary impedance controller. Figure 13(b) does not compensate low-speed nonlinear dynamics. Figures 13(c) and 13(d) perform iterative compensation for 8 times to compensate low-speed nonlinear dynamics. In Figure 13, the blue line represents the original force/torque sensor values, the black dashed line represents the filtered force/torque sensor values, and the red line represents the disturbance observer estimation values.Figure 13
Contact force control experiment in theZ direction on a curved surface. (a) Without force controller. (b) Hybrid controller without compensation. (c) Hybrid controller with compensation. (d) Ordinary controller with compensation.
(a)
(b)
(c)
(d)By comparing Figures13(b) and 13(c), it can be seen that, after iteratively compensating the low-speed nonlinear dynamics, the accuracy of the force value in the Z direction estimated by the disturbance observer and the force control precision in the Z direction by the hybrid sliding mode impedance controller are significantly improved. By comparing Figures 13(c) and 13(d), it can be seen that, after the same times of iterative compensations, the hybrid sliding mode impedance controller possesses better force control performance in the Z direction than an ordinary impedance controller. Because of the low-speed nonlinear dynamics compensation, the time required for the disturbance observer to reach stability is greatly reduced. Tables 4–6 compare the Z-direction force control errors in Figures 13(b)–13(d). The comparison terms include maximum deviation and root-mean-square error between the disturbance observer estimation value and the desired force, maximum deviation and root-mean-square error between the filtered force/torque sensor value and the desired force, and maximum deviation and root-mean-square error between the disturbance observer estimation value and the filtered force/torque sensor value.Table 4
Comparison ofZ-direction force control errors in Figure 13(b).
Comparison terms
Maximum deviation (N)
Root-mean-square error
Observer estimation value and desired force
4.5435
0.8250
Filtered sensor value and desired force
5.6338
1.7167
Observer estimation value and filtered sensor value
5.6250
1.9019Table 5
Comparison ofZ-direction force control errors in Figure 13(c).
Comparison terms
Maximum deviation (N)
Root-mean-square error
Observer estimation value and desired force
1.1515
0.4122
Filtered sensor value and desired force
2.7768
0.8402
Observer estimation value and filtered sensor value
2.6767
0.8482Table 6
Comparison ofZ-direction force control errors in Figure 13(d).
Comparison terms
Maximum deviation (N)
Root-mean-square error
Observer estimation value and desired force
1.2890
0.4028
Filtered sensor value and desired force
2.8464
1.0827
Observer estimation value and filtered sensor value
3.0292
1.1311By comparing Tables4 and 5, it can be seen that the force control performance is better after the iterative compensation for low-speed nonlinear dynamics, and the control error is reduced by 50%, as compared to those methods without compensation. By comparing Tables 5 and 6, it can be seen that, under the same desired force and the same times of iterative compensation, the control performance of the hybrid sliding mode impedance controller is better than that of an ordinary impedance controller. The maximum deviations of the 3 comparison items in Table 5 are smaller than those in Table 6, which are reduced by 10.67%, 2.45%, and 11.64%, respectively. The root-mean-square error of the observer estimation value and desired force in Table 5 is slightly larger than that in Table 6 by 2.33%, while the root-mean-square error of the other 2 comparison items in Table 5 are smaller than those in Table 6, which is reduced by 22.40% and 25.01%, respectively. The filtered force sensor value is used as the theoretical true value of the contact force, and the proximity of the filtered value to the desired force is used as the criterion for determining the performance of the force control algorithm. On the whole, when the hybrid sliding mode impedance controller is operated, the filtered force/torque sensor value has a smaller deviation from the desired force, the force control performance is better, and the difference between the disturbance observer estimation value and the filtered force/torque sensor value is smaller. At present, the research on the universality of the proposed constant force control method without a force/torque sensor is still not deep enough. The proposed constant force control method is implemented on a relatively simple curved surface with a small curvature change, and no verification is performed on a complex curved surface.In general, although the disturbance observer estimation values deviate from the filtered sensor values, the trends of the two sets of values are consistent. Although these two trends are the same, they are not completely synchronous but have a certain time interval. The inaccuracy of the robot dynamics model is one of the reasons that affect the control performance. The low-speed nonlinear dynamics of the robot has an impact on the estimation accuracy and control accuracy. These reasons include inaccurate modelling of friction and the presence of certain unmodelled dynamics in the mechanical drive train, such as uncompensated reducer dynamics. In addition, the fluctuation of the robot’s electrical system also has a certain impact, which is manifested in the fact that even if the robot is not in contact with the environment, when the same motion instruction is run multiple times, the corresponding data that are read are always slightly different. Moreover, unlike the sensor-based control method, the input and output of the disturbance observer-based hybrid sliding mode impedance control method have a certain coupling relationship. The inputs of the disturbance observer are the internal signals of the robot, and the outputs of the hybrid sliding mode impedance controller are also these internal signals. On the one hand, the estimated output value of the disturbance observer is the basis for the hybrid sliding mode impedance controller to calculate the adjustment amount. On the other hand, the controller adjusts the robot to change the internal signal, thereby affecting the output value of the disturbance observer. The robot end contact force control method based on the disturbance observer and the hybrid sliding mode impedance controller is actually a complex balance of internal signals when the robot is in contact with the environment. In contrast, sensor-based force control methods are aided by an external reference, and the controller’s input and output are not coupled. As long as the sensor values are correct, it is easier to obtain the desired control performance. This is also the reason why the control performance in the third part experiment is not as good as that in the second part. Although the adjustments were output by the same controller, the control performance in experiment 2 with the sensor value as the input is better than that in experiment 3 with the disturbance observer estimation value as the input.


## 6.2.1. Consistency Test of Disturbance Observer Estimation Values and Force/Torque Sensor Values

In this experiment, the end of the flange shaft is kept in contact with the workpiece, and the linear motion command of the robot controller is set. In addition, only the disturbance observer is operated, and the hybrid sliding mode impedance controller is not operated. Then, the sensor signals and joint motor signals are read. The estimation accuracy of the disturbance observer is analyzed, and the estimation value is compared with the sensor value. The experimental results are shown in Figure7. In Figure 7, the blue line is the original sensor value, the black dashed line is the filtered sensor value, and the red line is the disturbance observer estimation value.Figure 7
Comparison of disturbance observer estimation values and force/torque sensor values. (a)X-direction force. (b) Y-direction force. (c) Z-direction force. (d) X-direction torque. (e) Y-direction torque. (f) Z-direction torque.
(a)
(b)
(c)
(d)
(e)
(f)Figures7(a)–7(c) show a comparison of the force values between the force/torque sensor and the disturbance observer, respectively, in X, Y, and Z directions. From the red lines shown in Figures 7(a) and 7(b), it is found that the forces estimated by the disturbance observer, respectively, in X and Y directions need approximately 6 s to become stable. And the estimated force in the Z direction needs approximately 2 s to become stable, as shown in Figure 7(c). The accuracy of the force estimation in the X direction fails to show the advantages of the disturbance observer. As compared with the filtered sensor value, the deviation after stabilization is up to 7 N, while the force estimation accuracy in Y and Z directions is good; for instance, the force deviation in the Y direction after stabilization is not more than 2.5 N, and that in the Z direction is not more than 3 N.Figures7(d)–7(f) show a comparison of the torque values between the force/torque sensor and the disturbance observer, respectively, in X, Y, and Z directions. From the red lines shown in Figures 7(d) and 7(e), it is found that the external torque estimated by the disturbance observer in X and Y directions needs approximately 6 s to become stable. And the external torque estimated in the Z direction does not substantially fluctuate, as shown in Figure 7(f). The torque estimation accuracy in all 3 directions is good; for instance, the torque deviations in X, Y, and Z directions after stabilization are not more than 2.5 Nm, 3 Nm, and 0.1 Nm, respectively.The lack of precision of the robot dynamics model is responsible for the deviations between the disturbance observer estimation values and the force sensor values. During the experiments, the robot runs at a lower speed. In addition to the noise, the returned motor signals contain some nonnegligible and low-speed nonlinear dynamic characteristics, namely, the low-speed ripple torque characteristic of the motor and the low-speed nonlinear friction characteristics of the robot. The commonly used Fourier series-based dynamic model identification methods are not able to determine these low-speed characteristics well so that an additional complex work is required to complete the modelling of these characteristics.It is found from experimental results that the low-speed characteristic compensation of joint 2 torque can greatly improve the force estimation accuracy and force control precision in theZ direction when it is in contact with the planar workpiece. The low-speed characteristic compensation amount can be summarized by experimental experience. It should be noted that the disturbance observer estimation values shown in Figure 7 are calculated after joint 2 torque is compensated for low-speed characteristics. It can also be found that the force estimation in the Z direction is relatively accurate.


## 6.2.2. Feasibility Test of the Hybrid Sliding Mode Impedance Controller

In this experiment, the robot runs the same trajectory as that in experiment 1, and the hybrid sliding mode impedance controller is operated with the force sensor value as the control input; however, the disturbance observer is not operated. The relevant data are read, and the control performance of the hybrid sliding mode impedance controller is analyzed and compared. In experiments 2 and 3, 3 different desired forces are set, and these 3 experiments are performed separately.Figure8 shows the contact force in the Z direction when the desired force is set to −30 N, −40 N, and −60 N, in which the blue line represents the original sensor values and the black dashed line represents the filtered sensor values. It can be seen that, under different desired forces, the hybrid sliding mode impedance controller can always quickly adjust the robot motion and stabilize the force in the force control direction at the desired value. After further analysis of the 3 sets of experimental data, it can also be found that the fluctuation of the filtered sensor value near the expected value does not exceed 0.2 N, which means that the control algorithm possesses good control performance.Figure 8
Force control performance of the hybrid sliding mode impedance controller in theZ direction with sensor values as control inputs. The desired force is set to (a) −30 N, (b) −40 N, and (c) −60 N.
(a)
(b)
(c)Figure9 shows the 6-joint torque values of the robot at a desired force of −40 N, with the blue line representing the original sensor values and the black dashed line representing the low-pass filter sensor values. The joint torque values still fluctuate after removing high-frequency Gaussian noise. This is because, in contact force control applications, the robot will operate at a low speed. The nonlinear dynamics of a robot running at low speed cannot simply be classified as noise. Besides, Figure 9 also shows that the low-speed characteristics have a significant influence on the joints 1 and 2, have a slight influence on the joint 3, and have little influence on the joints 4, 5, and 6.Figure 9
Joint torque values at a desired force of −40 N. (a) Joint 1 torque. (b) Joint 2 torque. (c) Joint 3 torque. (d) Joint 4 torque. (e) Joint 5 torque. (f) Joint 6 torque.
(a)
(b)
(c)
(d)
(e)
(f)Because of the limitation of the length of the paper, only the conclusions of the comparison of experimental data are given. For this experimental scenario, the joint torque of joints 4 and 6 does not change much under different desired forces. The reason is that joints 4 and 6 need no additional torque to cope with the changes in external forces during the operation. The motion of joint 1 drives the end of the robot to move in theX-Y plane. The variation of contact force in the Z direction causes the friction force change at the end of the robot in the X-Y plane. The greater the desired force, the greater the extra torque needed for joint 1 to overcome the friction. Joints 2, 3, and 5 have a direct effect on the contact force in the Z direction. Because the movements of these 3 joints directly change the position of the robot end in the Z direction, the contact force is fluctuant. These 3-joint torque values vary greatly depending on the desired force. According to the data analysis, joint 2 torque is mainly affected by the change of the external force. This also explains why the low-speed characteristic compensation of joint 2 torque can greatly improve the force estimation accuracy of the disturbance observer in the Z direction.


## 6.2.3. Control Performance Test of Disturbance Observer-Based Hybrid Sliding Mode Impedance Controller on a Planar Workpiece

In this experiment, the robot runs the same trajectory as that in experiment 1. The disturbance observer is operated, and at the same time, the hybrid sliding mode impedance controller is operated with the disturbance observer estimation values as control inputs, and then the relevant data are read. The control performance of the disturbance observer-based robot end contact force controller is analyzed and compared.Through trial and empirical summarization, the parameterKI in the disturbance observer is set to KI = diag(1, 10, 5, 0.5, 1, 0.01). The selection matrix S in the hybrid sliding mode impedance controller, the desired impedance parameters Md, Cd, and Kd, the sliding mode parameters C1 and C2, the dynamic compensator parameter A, and the controller parameters D and ε are, respectively, set as follows: S = diag(1, 1, 0, 1, 1, 1), Md = diag(100, 100, 5, 100, 100, 100), Cd = diag(5, 5, 5, 5, 5, 5), Kd = diag(5, 5, 5, 5, 5, 5), C1 = diag(0.1, 0.1, 0.1, 0, 0, 0), C2 = diag(0.001, 0.001, 0.1, 0.001, 0.001), A = diag(−0.1, −0.1, −0.2, 0, 0, 0), D = diag(0.5, 0.5, 1, 0.1, 0.1, 0.1), and ε = 0.01.The relevant experimental results are shown in Figure10. Here are some additional explanations for the experimental process. In experiment 1, it is known that the value estimated by the disturbance observer in the Z direction takes approximately 2 s to converge to the vicinity of the true value. Therefore, the disturbance observer is started simultaneously while the robot begins to run. The hybrid sliding mode impedance controller is only operated after the disturbance observer has been operated for 2 s. In the actual experiments, it is also found that when the hybrid sliding mode impedance controller starts to operate, it is necessary to limit the adjustment of the controller output at the very beginning. Otherwise, the robot will easily jump in the Z direction, and the force will greatly oscillate within a certain period of time. Unlike experiment 2, in which the robot force in the Z direction is rapidly stabilized to the desired value, the force in the Z direction in experiment 3 gently changes to the desired value. The length of time required for this transition depends on not only the difference between the actual force value and the set desired value at the start of the controller but also the upper limit of the set amount of adjustment. In the experiment, for the convenience of operation, the transition period is set to 4 s in the program; that is, the adjustment amount is limited within the first 4 s of the hybrid sliding mode impedance controller’s operation.Figure 10
Control performance of the disturbance observer-based hybrid sliding mode impedance controller in theZ direction. The desired force is set to (a) −30 N, (b) −40 N, and (c) −60 N.
(a)
(b)
(c)Figures10(a)–10(c) show the control performance when the desired force is set to −30 N, −40 N, and −60 N, in which the blue line represents the original sensor values, the black dashed line represents the filtered sensor values, the red line represents the disturbance observer estimation values, and the two green parallel dotted lines represent the desired force of ±3 N. The disturbance observer and the hybrid sliding mode impedance controller take 6 s in total to become stable, so the data 6 s after the robot motion start are compared and analyzed. Although the control performance of the hybrid sliding mode impedance controller with disturbance observer estimation values as control inputs is not as good as that of the hybrid sliding mode impedance controller with sensor values as control inputs, for different desired forces, the disturbance observer-based hybrid sliding mode impedance control can stabilize the Z-direction force near the desired value. Specifically, both the filtered sensor value and the disturbance observer-estimated value in the Z direction fluctuate within a range of the desired value ±3 N and slightly exceed the range for a very small amount of time. At most moments, the original sensor value also fluctuates within a range of the desired value ±3 N, and the fluctuations in the remaining moments rarely exceed the range of the desired value ±5 N. Table 3 lists a comparison of some experimental data. The “maximum deviation” in the table refers to the maximum absolute value of the difference between the two groups of data. From Table 3, it is found that as the desired force increases, the root-mean-square error tends to decrease, and the control performance becomes better when the desired force increases.Table 3
Comparison of experimental data.
Expected force (N)
Comparison between filtered sensor values and expected force
Comparison between disturbance observer values and expected force
Comparison between disturbance observer values and filtered sensor values
Maximum deviation (N)
RMSE
Maximum deviation (N)
RMSE
Maximum deviation (N)
RMSE
−30
2.97
1.37
2.91
1.35
3.60
1.59
−40
3.39
1.29
2.67
0.87
4.15
1.41
−60
3.17
1.05
3.05
0.87
3.96
1.16


## 6.2.4. Control Performance Test of Disturbance Observer-Based Hybrid Sliding Mode Impedance Controller on a Curved Surface Workpiece

Experiment 4 verifies the control performance of the disturbance observer-based hybrid sliding mode impedance control method on a curved surface workpiece. As shown in Figure11, points A and B on the curved surface workpiece are randomly determined before the experiment. The desired force in the Z direction is set to −15 N, and the force/torque sensor values are taken as control inputs of the proportional controller to run a two-point linear motion command on the surface. By setting the desired force in the Z direction, the robot maintains the end of the flange shaft in contact with the workpiece and moves a curved path on its surface. This trajectory is the planning trajectory of experiment 4. Figure 12 shows the three-dimensional view of the curved planning trajectory relative to the robot base coordinate system and its X, Y, and Z components. It can be seen that the trajectory is a simple curve, which is linear in X and Y directions and is nonlinear in the Z direction. Then, the desired force is set to −10 N, the disturbance observer estimation values are taken as control inputs, and the contact force control experiment in the Z direction is performed by the hybrid sliding mode impedance controller and a common impedance controller.Figure 11
Curved surface workpiece and curved planning trajectory. (a) Experimental device. (b) Schematic diagram of the trajectory.
(a)
(b)Figure 12
Curved planning trajectory relative to the base coordinate system. (a) 3D view of the curved trajectory. (b)X component of the curved trajectory. (c) Y component of the curved trajectory. (d) Z component of the curved trajectory.
(a)
(b)
(c)
(d)Because of the higher demand for precision of the constant force control on a curved surface, a force sensor and an iterative compensation method are used to obtain the compensation component of the low-speed nonlinear dynamic characteristics, and the correction of the disturbance observer estimation values is completed. Finally, the constant force control in theZ direction is realized without force/torque sensors. The compensation steps are as follows:(1)
If the planning trajectory is run for the first time, the joint torque compensation values are set to 0. The disturbance observer estimation values are taken as control inputs, the desired force is set to −10 N, and the curve planning trajectory is run.(2)
The differences between the force sensor values and the disturbance observer values are calculated. The joint torque compensation values are calculated by the Jacobian matrix and these differences.(3)
The joint torque compensation value is accumulated and written into the disturbance observer. Steps 1∼3 are repeated until a satisfactory contact force control performance is obtained.Steps 2 and 3 are performed when the robot is offline. These compensation steps are essentially a method of force/torque sensor calibration to determine the specific low-speed nonlinear dynamics compensations. The force/torque sensor values are not directly used in the force control method in step 1.Figure13 shows the experimental data for Z-direction force control on a curved surface. Figure 13(a) shows the Z-direction force value when the planned trajectory is run without the force control algorithm. Figures 13(b)–13(d) show the results of the Z-direction force control experiments when the desired force is set to −10 N and the disturbance observer estimation values are taken as control inputs. Figures 13(b) and 13(c) use a hybrid sliding mode impedance controller, and Figure 13(d) uses an ordinary impedance controller. Figure 13(b) does not compensate low-speed nonlinear dynamics. Figures 13(c) and 13(d) perform iterative compensation for 8 times to compensate low-speed nonlinear dynamics. In Figure 13, the blue line represents the original force/torque sensor values, the black dashed line represents the filtered force/torque sensor values, and the red line represents the disturbance observer estimation values.Figure 13
Contact force control experiment in theZ direction on a curved surface. (a) Without force controller. (b) Hybrid controller without compensation. (c) Hybrid controller with compensation. (d) Ordinary controller with compensation.
(a)
(b)
(c)
(d)By comparing Figures13(b) and 13(c), it can be seen that, after iteratively compensating the low-speed nonlinear dynamics, the accuracy of the force value in the Z direction estimated by the disturbance observer and the force control precision in the Z direction by the hybrid sliding mode impedance controller are significantly improved. By comparing Figures 13(c) and 13(d), it can be seen that, after the same times of iterative compensations, the hybrid sliding mode impedance controller possesses better force control performance in the Z direction than an ordinary impedance controller. Because of the low-speed nonlinear dynamics compensation, the time required for the disturbance observer to reach stability is greatly reduced. Tables 4–6 compare the Z-direction force control errors in Figures 13(b)–13(d). The comparison terms include maximum deviation and root-mean-square error between the disturbance observer estimation value and the desired force, maximum deviation and root-mean-square error between the filtered force/torque sensor value and the desired force, and maximum deviation and root-mean-square error between the disturbance observer estimation value and the filtered force/torque sensor value.Table 4
Comparison ofZ-direction force control errors in Figure 13(b).
Comparison terms
Maximum deviation (N)
Root-mean-square error
Observer estimation value and desired force
4.5435
0.8250
Filtered sensor value and desired force
5.6338
1.7167
Observer estimation value and filtered sensor value
5.6250
1.9019Table 5
Comparison ofZ-direction force control errors in Figure 13(c).
Comparison terms
Maximum deviation (N)
Root-mean-square error
Observer estimation value and desired force
1.1515
0.4122
Filtered sensor value and desired force
2.7768
0.8402
Observer estimation value and filtered sensor value
2.6767
0.8482Table 6
Comparison ofZ-direction force control errors in Figure 13(d).
Comparison terms
Maximum deviation (N)
Root-mean-square error
Observer estimation value and desired force
1.2890
0.4028
Filtered sensor value and desired force
2.8464
1.0827
Observer estimation value and filtered sensor value
3.0292
1.1311By comparing Tables4 and 5, it can be seen that the force control performance is better after the iterative compensation for low-speed nonlinear dynamics, and the control error is reduced by 50%, as compared to those methods without compensation. By comparing Tables 5 and 6, it can be seen that, under the same desired force and the same times of iterative compensation, the control performance of the hybrid sliding mode impedance controller is better than that of an ordinary impedance controller. The maximum deviations of the 3 comparison items in Table 5 are smaller than those in Table 6, which are reduced by 10.67%, 2.45%, and 11.64%, respectively. The root-mean-square error of the observer estimation value and desired force in Table 5 is slightly larger than that in Table 6 by 2.33%, while the root-mean-square error of the other 2 comparison items in Table 5 are smaller than those in Table 6, which is reduced by 22.40% and 25.01%, respectively. The filtered force sensor value is used as the theoretical true value of the contact force, and the proximity of the filtered value to the desired force is used as the criterion for determining the performance of the force control algorithm. On the whole, when the hybrid sliding mode impedance controller is operated, the filtered force/torque sensor value has a smaller deviation from the desired force, the force control performance is better, and the difference between the disturbance observer estimation value and the filtered force/torque sensor value is smaller. At present, the research on the universality of the proposed constant force control method without a force/torque sensor is still not deep enough. The proposed constant force control method is implemented on a relatively simple curved surface with a small curvature change, and no verification is performed on a complex curved surface.In general, although the disturbance observer estimation values deviate from the filtered sensor values, the trends of the two sets of values are consistent. Although these two trends are the same, they are not completely synchronous but have a certain time interval. The inaccuracy of the robot dynamics model is one of the reasons that affect the control performance. The low-speed nonlinear dynamics of the robot has an impact on the estimation accuracy and control accuracy. These reasons include inaccurate modelling of friction and the presence of certain unmodelled dynamics in the mechanical drive train, such as uncompensated reducer dynamics. In addition, the fluctuation of the robot’s electrical system also has a certain impact, which is manifested in the fact that even if the robot is not in contact with the environment, when the same motion instruction is run multiple times, the corresponding data that are read are always slightly different. Moreover, unlike the sensor-based control method, the input and output of the disturbance observer-based hybrid sliding mode impedance control method have a certain coupling relationship. The inputs of the disturbance observer are the internal signals of the robot, and the outputs of the hybrid sliding mode impedance controller are also these internal signals. On the one hand, the estimated output value of the disturbance observer is the basis for the hybrid sliding mode impedance controller to calculate the adjustment amount. On the other hand, the controller adjusts the robot to change the internal signal, thereby affecting the output value of the disturbance observer. The robot end contact force control method based on the disturbance observer and the hybrid sliding mode impedance controller is actually a complex balance of internal signals when the robot is in contact with the environment. In contrast, sensor-based force control methods are aided by an external reference, and the controller’s input and output are not coupled. As long as the sensor values are correct, it is easier to obtain the desired control performance. This is also the reason why the control performance in the third part experiment is not as good as that in the second part. Although the adjustments were output by the same controller, the control performance in experiment 2 with the sensor value as the input is better than that in experiment 3 with the disturbance observer estimation value as the input.


## 7. Conclusions

In this paper, a disturbance observer-based hybrid sliding mode impedance control method is proposed to realize constant contact force-tracking control of a robot end without force/torque sensors. The essence of this method is a complex balance of robot internal signals when the robot is in contact with the environment. The generalized momentum-based disturbance observer takes the robot servo motor signals as inputs and provides the estimated value of the robot end contact force for the hybrid sliding mode impedance controller, thus replacing the force/torque sensor. The disturbance observer does not use the joint angular acceleration, which avoids the error introduced by the secondary differential. This observer also reduces the noise in joint torque information and improves the accuracy of force estimation. The hybrid sliding mode impedance controller is an integration of impedance control and sliding mode control with better force-tracking performance and stronger robustness. This controller takes the disturbance observer estimation value and the robot servo motor signals as inputs, calculates the equivalent control torque, and obtains the final position adjustment amount by numerical solution. Experimental results show that the proposed control method can achieve a control precision of the desired force ±3 N and has certain practicability for force control applications with non-high-precision requirements. Moreover, as the proposed algorithm is based on the robot dynamics model, the control performance of the method is affected by the accuracy of the robot dynamics model. And since the force control tasks are mostly carried out at low speeds, the low-speed nonlinear dynamics of the robot has the greatest influence on the control performance. In order to improve the accuracy of the force control method without force/torque sensors, subsequent research will focus on the modelling of low-speed dynamics characteristics such as motor ripple torque and low-speed nonlinear friction of the robot.



---

*Source: 5802453-2019-10-29.xml*