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

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.


Introduction
With the application of industrial robots in di erent production elds, 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 uctuations 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][4][5][6][7][8][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 nely adjust the ideal damping, which helped to obtain nonlinear e ective sti ness 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. e sliding mode control guaranteed trajectory tracking robustness while allowing the robot to slide over unknown obstacles. e force/position hybrid control improved the control performance when the material sti ness 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. ere 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][11][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 leastsquares 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. e 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][11][12][13][14][15][16][17][18][19][20][21][22][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][13][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.
is 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. e method integrates a disturbance observer, a sliding mode controller, and an impedance controller. e 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. us, the problem of insufficient accuracy in estimating the external forces directly by joint torque mapping can be successfully solved. e 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. e rest of this paper is organized as follows: Section 2 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 2 Complexity 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.  Figure 1 shows the whole hardware framework of the force control system. e industrial computer, in which a realtime 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. e 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. erefore, the returned motor current value has actually been affected by the end contact force; that is, the interaction force information has been included. e industrial computer converts the internal signals of the robot into the values of joint angle, joint angular velocity, and joint torque. e disturbance observer is used to calculate the estimated value of the contact force. en, 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. e force/torque sensor and its associated equipment are shown on the right side of Figure 1. 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. e sensor is mounted at the end of the robot. e 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.

Robot End Contact Force Analysis.
e force analysis of the robot end that is in contact with the environment is represented by the abstract model shown in Figure 2. 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 F n , 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 F t .
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. e 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 Figure 2. is 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. e flange shaft and the force sensor are directly connected by screws. e flange shaft is coaxial with the sensor. e normal force F n is basically along the axial direction of the flange shaft, pointing in the direction in which the sensor is located. e force value measured in the Z direction of the sensor can be considered the normal force F n acting at the end of the flange shaft.

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

Robot Dynamics Modelling.
ere are two common methods for robot dynamics modelling, one is the Newton-Euler method and the other is the Lagrangian method. e 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. e general robot dynamics equation is shown as where q, _ q, and € q are the joint angle vector, angular velocity vector, and angular acceleration vector of the robot; M(q) is the inertia matrix; C(q, _ q) is the Coriolis force and centrifugal force matrix; G(q) is the gravity term; τ f ( _ q) 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, M(q) is written Complexity as M, C(q, _ q) is written as C, G(q) is written as G, and τ f ( _ q) is written as τ f . e friction term in equation (1) is modelled using a classical friction model [25] including viscous friction and Coulomb friction as follows: where f 1 and f 2 are, respectively, the viscous friction coefficient and the Coulomb friction coefficient.

e 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) e inertia matrix has the following relationship with the Coriolis force and centrifugal force matrix: where a is the column vector corresponding to the dimension of the inertia matrix. e 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: where C r 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.

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. erefore, 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  4 Complexity the Cartesian velocity and acceleration at the end of the robot [24]: where _ x and € x are, respectively, the velocity and acceleration at the end of the robot in the Cartesian space and J(q) 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 where is the joint torque in the Cartesian space; and F is the external force applied to the robot end.

Design of Disturbance Observer Based on Generalized
Momentum. e disturbance observer estimates the force at the end of the robot through the obtained joint servo motor signals. ereby, 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. e use of a generalized momentum in this paper helps to solve this problem and improve the accuracy. e generalized momentum of the robot and its differential are defined as follows [20]: 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 Note that P is the estimated generalized momentum, and e P � P − P is the generalized momentum estimation's error. A disturbance observer is established based on generalized momentum as where K I is a diagonal gain matrix and the diagonal elements are all positive. Note that r � K I e P . By substituting the integral of equation (9) into the expression of r, the following equation is obtained: 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) Figure 3 shows a flow chart of the disturbance observer. As shown in the figure, the robot receives a desired position control command q d 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.
e 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.

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 Section 6, a comparison of all experimental results is performed in the end coordinate system.
From the contact force analysis in Section 2, it is clear that the force measured in the Z direction of the sensor can be considered the normal force F n acting at the end of the flange shaft. Different from the normal force, the tangential force F t 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. erefore, it is necessary to convert the sensor values to obtain the Complexity corresponding robot end contact forces in the X and Y directions of the end coordinate system. Figure 4 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. e distance between the origins of the two coordinate systems is represented by D ′ . As the details mentioned above, the sensor is coaxial with the ange shaft. e 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. e X S -Y S plane is parallel to the X E -Y E 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 xed value of 120°. en, the sensor value column vector is multiplied by a transformation matrix to obtain the end force column vector as follows: 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. e force/torque sensor values are converted from the sensor coordinate system to the robot ange shaft end coordinate system according to equation (12). ereby, the theoretical true value of contact force at the end of the robot is obtained.

Design and Stability Proof of Force
Control Algorithm is section gives the design of a force control algorithm that integrates impedance control and sliding mode control and proves the stability of the algorithm. e force information in this algorithm is provided by the disturbance observer designed in Section 4.

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]: where M d is the desired inertia matrix; C d is the desired damping matrix; K d is the desired sti ness matrix; x, _ x, and € x are, respectively, the actual position, velocity, and acceleration in Cartesian coordinates; x d , _ x d , and € x d are, respectively, the desired position, velocity, and acceleration; and F e 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. erefore, the control model in the force control direction is modi ed into the following equation: where F d is the desired contact force. By combining equations (13) and (14), the expression of the hybrid impedance control is shown as Figure 4: End coordinate system and sensor coordinate system. 6 Complexity 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 where e � S(x − x d ) is the generalized positional error; e I � x − Sx d is used to calculate the generalized velocity error and the generalized acceleration error; and e f � F e − (I − S)F d is the generalized force error.

Sliding Mode Control Incorporating Force Information.
By adding an auxiliary variable z, 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: where A is a seminegative constant matrix; K pz , K vz , and K fz are a set of parameters related to impedance control parameters, and their calculation methods will be discussed later; C 1 is a constant diagonal matrix; and C 2 is a nonsingular constant diagonal matrix. en, a sliding mode manifold is built by _ e I , e, and z as follows: where s is the sliding mode manifold and C 1 and C 2 are the same as those in equation (17). According to the sliding mode control's arrival conditions, let s � 0 and _ s � 0, and the expressions for z and _ z are obtained as

Design of the Hybrid Sliding Mode Impedance Control
Algorithm. e auxiliary variable z 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: 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 K pz , K vz , and K fz are obtained as By fine tuning K pz , K vz , and K fz , 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: where 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 � S _ x d − C 1 e − C 2 z is the equivalent velocity, and it is easy to know that s � _ z is the equivalent acceleration; and D is a well-designed positive definite matrix.
For the system to eventually reach the sliding surface, which means that s � 0, the overall control algorithm is designed as follows: where ε > 0, sgn(s) � [sgn(s 1 ), . . . , sgn(s n )] T , and s i , i � 1, 2, . . . , n, represent the elements of the sliding mode manifold corresponding to the dimension.

Proof of the Stability of the Control Algorithm.
It is mentioned in Section 3 that a T ( _ M − 2C)a � 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/2) _ x T M x _ x about M x and _ x as well as by substituting equation (5) into the expression, the following equation is obtained: Simultaneously calculating the differentials of both sides of equation (24) gives the following derivation: It is obvious that _ x 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]: 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 that M ⌢ 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: When s � 0, it is obvious that _ V � 0. When s ≠ 0, sgn(s) can be written as s/|s|. en, equation (27) becomes _ V � − s T Ds − s T (ε/|s|)s. 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.

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 amount T A into the position adjustment amount X A . en, 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: where _ X A and € X A are the change in velocity and the change in acceleration caused by T A and M xA , C xA , G xA , and F fA 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: 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. erefore, assuming that (29) can be approximated as follows: 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. e position adjustment amount X A can be approximated as follows: where dT is the robot control cycle and is set as 1 ms in this paper.
After adding X A 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. Figure 5 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. q d , _ q d , and € q d represent the desired trajectories in the joint space. e desired trajectories and actual trajectories of the robot in the joint space are first transformed into the corresponding values x d , _ x d , and € x d and x, _ x, and € x in the Cartesian space. en, the values are transmitted along with the estimated contact force F ⌢ to the hybrid sliding mode impedance controller. e hybrid sliding mode impedance 8 Complexity controller calculates the control torque and then obtains the position adjustment amount in the Cartesian space by numerical solution. e 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 realtime adjustment, thus realizing the disturbance observerbased hybrid sliding mode impedance control of the robot end contact force.

Experiments of Constant Contact Force-Tracking Control for Robot End
6.1. Experimental Device. Figure 6 shows the experimental device built in this paper. e 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. e robot body is connected with the control cabinet, and it communicates with the industrial computer through the EtherCAT bus protocol. e industrial computer installs a real-time kernel, and the robot control system has been transplanted to the industrial computer. e 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. e 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. During the experiment, the flange shaft is kept in contact with the environment and transmits the external force to the force sensor. e 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 Az + K pz e -C 2 -1 C 1 e + K vz e I + K fz e f · · ε sgn (s) value. e 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.

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 the Z-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.

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. en, the sensor signals and joint motor signals are read. e estimation accuracy of the disturbance observer is analyzed, and the estimation value is compared with the sensor value. e experimental results are shown in Figure 7. 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. Figures 7(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). e 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. Figures 7(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 ). e 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. e 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    e 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 the Z direction when it is in contact with the planar workpiece. e 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.

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. e 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. Figure 8 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 9 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. e joint torque values still fluctuate after removing high-frequency Gaussian noise.
is is because, in contact force control applications, the robot will operate at a low speed. e 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.
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. e reason is that joints 4 and 6 need no additional torque to cope with the changes in external forces during the operation. e motion of joint 1 drives the end of the robot to move in the X-Y plane. e variation of contact force in the Z direction causes the friction force change at the end of the robot in the X-Y plane. e 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. ese 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. is 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.

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. e 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. e control performance of the disturbance observer-based robot end contact force controller is analyzed and compared.
rough trial and empirical summarization, the parameter K I in the disturbance observer is set to K I � diag (1, 10, 5, 0.5, 1, 0.01). e selection matrix S in the hybrid sliding mode impedance controller, the desired impedance parameters M d , C d , and K d , the sliding mode parameters C 1 and C 2 , the dynamic compensator parameter A, and the controller parameters D and ε are, respectively, set as follows: S � diag (1, 1, 0, 1, 1, 1), M d � diag(100, 100, 5, 100, 100, 100), C d � diag (5,5,5,5,5,5), K d � diag (5,5,5,5,5,5),  Figure 10. 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. erefore, the disturbance observer is started simultaneously while the robot begins to run. e 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. e 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.     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. e "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.

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 Figure 11, points A and B on the curved surface workpiece are randomly determined before the experiment. e 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 twopoint 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. is 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. en, 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.
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 the Z direction is realized without force/torque sensors. e 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. e 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) e differences between the force sensor values and the disturbance observer values are calculated. e joint torque compensation values are calculated by the Jacobian matrix and these differences.     16 Complexity torque sensor calibration to determine the specific low-speed nonlinear dynamics compensations. e force/torque sensor values are not directly used in the force control method in step 1. Figure 13 shows the experimental data for Z-direction force control on a curved surface. Figure 13(a) shows the Zdirection 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 lowspeed 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.
By comparing Figures 13(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 Zdirection force control errors in Figures 13(b)-13(d). e comparison terms include maximum deviation and rootmean-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.
By comparing Tables 4 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. e 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. e 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. e 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. e 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. e inaccuracy of the robot dynamics model is one of the reasons that affect the control performance.
e low-speed nonlinear dynamics of the robot has an impact on the estimation accuracy and control accuracy.
ese 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. e 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. e 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. is 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   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.9019 Table 5: Comparison of Z-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.8482 Table 6: Comparison of Z-direction force control errors in Figure 13(d). 18 Complexity input is better than that in experiment 3 with the disturbance observer estimation value as the input.

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. e essence of this method is a complex balance of robot internal signals when the robot is in contact with the environment. e 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. e disturbance observer does not use the joint angular acceleration, which avoids the error introduced by the secondary differential. is observer also reduces the noise in joint torque information and improves the accuracy of force estimation. e hybrid sliding mode impedance controller is an integration of impedance control and sliding mode control with better force-tracking performance and stronger robustness. is 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.

Data Availability
e data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest
e authors declare that they have no conflicts of interest.