1. Introduction
With the rapid development of robotics, the application of robots has expanded from traditional industrial manufacturing to public services, entertainment, and medical care fields. Whether they are employed in production or service, the interaction and cooperation between humans and robots have become an important direction for the development of current and future robotics [
1]. In the process of human–robot interaction sharing a limited physical space, the safety of the robot, and especially human safety, should be ensured first to prevent the robot from accidentally colliding with humans or the surrounding environment during the movement. At the same time, intentional contact between humans and robots is necessary to realize the transmission of information between them, such as robots teaching through direct drag. This is the premise and basis of human–robot interaction and Cobot technology [
2].
Most of the existing research focuses on how to prevent robots from colliding with humans or the surrounding environment during work, or how to reduce the collision force in the case of collision [
3,
4,
5,
6]. Many studies have adopted new cooperative robots to improve the safety of human–robot interaction; examples include the KUKA LWR robot and Rethink robot [
7]. This type of cooperative robot integrates several advanced force or torque sensors, providing many advantages for robot collision detection and safety response [
6]. At present, although cooperative robots have made great progress, their prices are too high for many applications, so they are still in the stage of research or small-scale experiments. Conventional industrial robots are used in most applications, which typically do not include force or torque sensors in order to keep costs to a minimum. A common method of robot collision detection is to install a multidimensional torque sensor at the end of the robot. The disadvantage of this method is that force sensors are expensive and can only detect collisions at the end of the robot. On the other hand, collision detection can also be achieved through indirect information that is closely related to the joint torque. Je et al. studied a robot collision detection method based on motor current variation [
8]. The robot collision methods proposed in Refs. [
9,
10] are also based on the method of measuring the joint current. The model-based approach is relatively simple compared to methods of analyzing current signals. Therefore, more model-based methods are used in robot collision detection [
11,
12]. Usually, a model-based method requires joint acceleration information, which introduces large calculation errors (the acceleration is normally derived from the second derivative of the displacement sampled from the encoder). To this end, the generalized momentum-based method can be used to avoid acceleration calculation [
13,
14].
Although the above approaches can play a vital role in improving the safety of robots, they cannot achieve intentional contact and information interaction between humans and robots. In fact, in a human–robot interaction environment, workers often need to directly drag and guide the robot to perform specific actions, including the task of carrying or installing workpieces [
15]. These work scenarios require intentional contact between robots and humans or the unknown environment. Geravand et al. proposed a good method to distinguish contact and collision between humans and robots through directly filtering the residual current of the robot joint motor [
16]. Indriet al. further improved this method and proposed a sensor-less methodology implementing virtual sensors to manage both collision detection and manual guidance sessions [
17]. Kouris et al. proposed a force signal analysis method to improve the real-time performance of distinguishing between contact and collision [
18]. As mentioned in Ref. [
18], the proposed method requires a higher computational performance of the control system. Golz et al. also used mechanical learning to achieve contact and collision discrimination [
19], but it requires a contact model and prior training. Moreover, there are few studies on improving the safety interaction performance of conventional industrial robots. Therefore, further research is needed.
In this paper, contact is defined as a force between a person and a robot that has a certain amplitude and a relatively long duration. Collision is defined as a force between a robot and a person that has a large amplitude and a short duration. Contact and collision cannot be effectively distinguished by simply setting a threshold. The main difference between contact and collision is that the force signals of the two have different distribution characteristics in the time domain and the frequency domain. The contact force changes relatively slowly, and the collision force has a large mutation. Inspired by Ref. [
16], a new virtual sensor for collision detection and distinction is proposed. Two generalized momentum-based torque observers with low-pass and band-pass filtering characteristics are contained in this virtual sensor. It does not require force sensors, does not require acceleration information, and does not need inverse dynamics calculations. It can be implemented on the widely used conventional industrial robot (it only needs to be equipped with axis encoders and servomotors). Compared with the existing methods, the proposed virtual sensor can not only detect a collision between a human and a robot in real-time to ensure the safety of the human body, but it can also distinguish contact from collision and improve the human–robot interaction performance.
The rest of the paper is organized as follows. In
Section 2, a virtual sensor for collision detection and distinction is proposed and the specific design and implementation process of the virtual sensor is described in detail. The robot joint friction identification and compensation methods are presented in
Section 3 to improve the performance of the proposed virtual sensor. The effectiveness of the virtual sensor was verified by several experiments, and the corresponding experimental results are presented in
Section 4. The concluding comments of the paper are provided in
Section 5.
2. The Virtual Sensor Development
2.1. Research Ideas of the Virtual Sensor for Collision Detection and Distinction
According to the results of Refs. [
16,
17,
18], the noise signals in a robot system are concentrated in the high-frequency region. The intentional human contact force signals are mainly distributed in the low-frequency region. The frequency component of the collision force signals is higher than the intentional contact force signal. Therefore, a virtual sensor containing low-pass and band-pass filtered observation characteristics can be used to observe the force signals with different frequency distribution regions. The specific design scheme of the virtual sensor is shown in
Figure 1.
Figure 1 depicts the observations of the proposed virtual sensor for external force signals at different frequencies. It can be seen from
Figure 1 that the low-pass filter observer can observe whether there is contact force or collision force between the human and the robot, but it is impossible to distinguish between the two. The band-pass filter observer filters out low-frequency force signals and detects high-frequency components of the accidental collision force signal. Therefore, the use of these two observers in the virtual sensor can achieve the detection and distinction of intentional contact and accidental collision between humans and robots.
2.2. Robot Dynamics Modeling
When a contact or collision occurs between the robot and the unknown environment, the dynamic equation of the
n degrees of freedom (DOF) robot based on the Lagrangian method can be written as
where
,
, and
are the position, velocity, and acceleration of the robot joint, respectively,
is a symmetric positive definite inertia matrix,
is the Coriolis and centrifugal forces term,
is the gravity term,
is the frictional term,
is the driving torque of the joint, and
is the equivalent torque generated by the external contact or collision force
in the corresponding joint of the robot, and its expression is
where
is the transposed Jacobian matrix.
According to Ref. [
3],
is the skew-symmetric matrix, so its equivalent expression is given by
Since conventional industrial robots generally do not have a joint torque sensor installed, the joints are usually composed of a servomotor, a transmission mechanism, and an output link. In order to obtain the joint control torque in the dynamics equation (Equation (1)), a method of measuring the joint motor current is employed. The driving current of the motor is converted accordingly, and the equation for calculating the joint driving torque is
where
is the current of the motor,
is the correlation coefficient of the current into the torque, and
is the transmission ratio of the joint motor to the output link.
2.3. Low-Pass Torque Observer Design
As shown in
Figure 1, the proposed virtual sensor requires an observer to detect the equivalent torque
generated on the joint when a contact or collision occurs. A torque observer with low-pass filtering characteristics was designed based on the generalized momentum. According to Refs. [
13,
14], the generalized momentum in the robot dynamics system is defined as
The time derivative of Equation (5) yields
Using Equations (1), (3), and (6), one obtains
where
. When the robot is subjected to an external force, its real-time momentum will cause a sudden change. Therefore, the external momentum deviation observation vector of the robot can be defined as
where
is a positive definite diagonal gain matrix and
is the estimated value of the robot generalized momentum. Using Equations (7) and (8), and replacing
with
, we obtain
Then, Equation (8) can be rewritten as
The working principle diagram of the momentum deviation observer is shown in
Figure 2.
From Equation (10), the differential calculation for
can be obtained as
Performing a Laplace transform on the above equation, the transfer function of the observer can be obtained as
where
is the
row element in the gain matrix
. As can be seen from the above equation, the observer is a first-order low-pass filter system, and its observation corresponds to the torque
. Therefore, this observer is referred to herein as a low-pass torque observer (LPTOB). Appropriately taking the value of
, the observer can not only detect a collision between the human and the robot in real-time, but also can filter out the noise signal, whose frequency is higher than
in the control system. The following is a specific collision judgment method. The observations of the LPTOB can be written as
where
. When the
link is involved in a collision, comparing the elements in
from
to
one by one, we have
where
is the joint collision detection threshold. Then, the corresponding collision direction can be determined by the positive or negative value of
.
2.4. Band-Pass Torque Observer Design
Another observer included in the proposed virtual sensor is a band-pass torque observer that is used to distinguish between intentional human contact and accidental collision. In our previous work [
14], we designed a second-order momentum deviation observer using the generalized momentum, and improved the performance of robot collision detection by adjusting the factor. This paper defines a new type of robot torque observation vector as
Similarly, from Equation (9), we have
Substituting Equation (16) into Equation (15) yields
where
,
, and
are diagonal positive definite matrices. The working principle diagram of the new torque observer is shown in
Figure 3.
The differential calculation of Equation (15) is
The transfer function of the new type of torque observer can be obtained by Laplace transform as follows
Equation (19) shows that the new observer is a second-order system. Further analysis shows that Equation (19) is a standard band-pass filter transfer function, which can be rewritten as follows
where
is the center frequency of the band-pass filter,
is the damping coefficient of the band-pass filter,
is the gain of the band-pass filter, and
is the frequency bandwidth of the band-pass filter. Equation (19) can be determined by setting the relevant parameters in the transfer function (Equation (20)), so the new observer can be referred to as a band-pass torque observer (BPTOB).
In addition, when
, Equation (19) can be further derived as
Thus, Equation (21) can be further represented by the multiplication of a first-order low-pass filtering (LPF) and a first-order high-pass filtering (HPF). By appropriately selecting the parameters of the LPF and the HPF, the detection of an accidental collision between the human and the robot can be achieved. In this paper, Equation (21) is used to simplify the calculation. Similarly, using the BPTOB to detect the external collision, we obtain
Comparing from
to
one by one with the joint threshold
, when the
link is involved in a collision, we obtain
Simultaneously, the direction of the collision link can be determined by . Otherwise, it is determined that no collision occurs. Therefore, the BPTOB can also accurately detect the collision information of the robot.
2.5. Implementation of the Virtual Sensor in a Robot System
As mentioned in the previous section, the two torque observers in the proposed virtual sensor—LPTOB and BPTOB—need to acquire the position of each joint of the robot and the output current information of the joint motor. However, their theoretical calculation formula is related to time. In practical applications, the robot control system samples discrete data at a certain frequency. Therefore, it is necessary to further derive the discretization calculation equation suitable for the robot system.
Firstly, the differential calculation of the theoretical Equation (15) of the BPTOB can be expressed as
The discretization calculation of the time integral of
can be obtained as follows
where
is the discrete index,
is the sampling time of the robot control system, and
is an integer. The discrete equation for the forward difference of
is
Substituting Equations (25) and (26) into Equation (24) yields
Summing over
on both sides of the above equation gives
where
is an integer, setting the initial value of the observer as
. Then, Equation (28) becomes
Substituting Equation (7) into the above equation yields
The discrete equation of the backward difference of
is
Setting the initial value of the robot general momentum as
, and after Equation (31) is substituted into Equation (30) and simplified, the final discrete calculation equation of the BPTOB can be obtained as follows
According to the above calculation and derivation process, the discrete calculation equation of the LPTOB can also be obtained as follows
2.6. Collision Detection and Distinction Process in the Virtual Sensor
During human–robot cooperation, the robot needs to observe the external force in real-time and judge the current state to determine the working mode. Based on the above analysis and the actual application requirements of the robot, the robot operating state is divided into three cases:
- (1)
highest priority—collision
- (2)
medium priority—contact
- (3)
low priority—normal work
This robot state grading method can ensure the safety of humans and robots during the work, and can also fully take into account the interaction between the human and the robot as well as the independent operation of the robot. In addition, since there may be other disturbances during the operation of the robot, the method of distinguishing collision, contact, and disturbance by virtual sensors is as follows
Collision
Contact, Disturbance
Normal work
where
is the time threshold. The thresholds
,
, and
can be obtained experimentally. The process of using virtual sensors to detect and distinguish contact and collision between humans and robots is shown in
Figure 4.
Additionally, when the control torque of the joint motor driver changes in real-time during the process of the robot changing from a stationary position to movement, the position and velocity of the joint may be delayed due to the inertia of the robot. The following equation is used to correct
and
.
where
is the corrected value,
and
are the adjustment factors,
is the parameter related to the joint motor and servo drive, and
is the inertia-related parameter of the robot. When the robot changes from stationary to motion modes,
and
are positive in the correction equation for the observed torque, while the other motion states are zero.
3. Friction Identification and Compensation
In order to reduce the influence of friction on the virtual sensor, this paper improves the sensitivity of the torque observer by identifying and compensating the joint friction [
20,
21]. Kennedy et al. pointed out that the Stribeck friction model is suitable for describing the conventional industrial robot joint friction [
22], and its basic expression can be expressed as
where
is the Stribeck parameter,
is the Stribeck velocity,
is the Coulomb friction coefficient,
is the Coulomb friction,
is the viscous friction coefficient,
is the viscous friction, and
is the constant associated with the contact surface geometry.
In order to facilitate data processing with MATLAB software, Equation (35) is simplified to
where
,
,
, and
are the required parameters. Then, the parameters in Equation (36) are estimated offline using the least squares method.
In this paper, independent experiments were performed on each joint to obtain the friction force of the joint and the parameters of the Stribeck friction model. During the experiment, one of the joints of the robot was controlled to move at a constant speed
, and the other joints were fixed. When no external force is applied to the robot, from Equations (1) and (4), we have
In Equation (37), the joint control torque only contains gravity and friction torque. The joint of the robot is controlled to move in a positive and negative direction within a given interval. At this point, Equation (37) becomes
where superscript symbols “
” and “
” indicate positive and negative directions, respectively. When the joint is in the same position during positive and negative motion, the gravity has
and the friction has
. Subtracting Equation (38) from Equation (39) gives
where A is the amount of data collected in a single-speed experiment. Therefore, the optimized friction parameters can be obtained by the following formula.
where
represents the friction data at different speeds. The above experimental method can reduce the influence of gravity and torque measurement errors on the joint friction measurement, and obtain more accurate friction model parameters.
5. Conclusions
The robot can independently detect and distinguish intentional human contact from accidental collision between a human and the robot, which is of great significance for improving the adaptability of the robot in complex environments, ensuring human safety and improving the information interaction efficiency. This paper presents a virtual sensor for collision detection and differentiation. Two observers are designed in this virtual sensor, named the LPTOB and the BPTOB. Based on the different frequency domain distribution characteristics of the force signals in contact and collision, the detection and distinction of contact and collision between humans and robots are realized by using the unique filtering system in the LPTOB and the BPTOB. The virtual sensor does not require acceleration information or inverse dynamics calculations, which can reduce errors and calculations. It only needs the drive current and position information of the robot joint motor, which is suitable for conventional industrial robots and reduces costs. Force detection experimental results show that the proposed virtual sensor can distinguish the physical contact types on the robot end point and the body, and has stable work performance and high reliability. Compared with the existing methods, the proposed method has better observation performance for external forces. This is of great significance for the real-time detection of accidental collisions in human–robot interaction and for the safety of humans and robots. In addition, the virtual sensor was further validated by human and robot interaction experiments. Subsequent research will improve the detection accuracy of the external force of the virtual sensor through dynamic parameter identification. It should be pointed out that actual contact and collision between humans and robots often have a certain randomness. The proposed virtual sensor is rarely 100% accurate, so it can only be used as an important judgment and reference tool for distinguishing between contact and collision. Particularly for human contact, the distinction between rapid intentional contact and slow unintentional contact should also be addressed in further research.