International Journal of Automation and Computing  2018, Vol. 15 Issue (2): 156-168 PDF
A Position and Torque Switching Control Method for Robot Collision Safety
Zhi-Jing Li1, Hai-Bin Wu1, Jian-Ming Yang2, Ming-Hao Wang1, Jin-Hua Ye1
1 School of Mechanical Engineering and Automation, Fuzhou University, Fuzhou 350116, China;
2 Department of Mechanical System, Meijo University, Nagoya 468-8052, Japan
Abstract: With the increasing number of human-robot interaction applications, robot control characteristics and their effects on safety as well as performance should be taken account into the robot control system. In this paper, a position and torque switching control method was proposed to improve the robot safety and performance, when robots and humans work in the same space. The switching control method includes two modes, the position control mode using a proportion-integral (PI) algorithm, and the torque control mode using sliding mode control (SMC) algorithm for eliminating swing. Under the normal condition, the robot works in position control mode for trajectory tracking with quick response. Once the robot and human collide, the robot will switch to torque control mode immediately, and the impact force will be restricted within a safe range. When the robot and human detach, the robot will resume to position control mode automatically. Moreover, for a better performance, the joint torque is detected from direct-current (DC) motor′s current rather than the torque sensor. The experiment results show that the proposed approach is effective and feasible.
Key words: Human-robot interaction     position control     torque control     switching control     robot collision safety
1 Introduction 1.1 Related work

In recent decades, safety is the most concerned issue in industrial and service field where the human and robot often need to share the working space. The most appealing and challenging work is the new generation robots in physical human-robot interaction[1, 2]. The new generation robots should have such characteristics, as sharing the workspace with human, contacting with people in a friendly way and exchanging forces efficiently in collaborative works[3]. Currently, the challenge in robotics is not only collision detection in real time and the safe control strategy when human and robot collide with each other, but also the way to resume the work interrupted by collision to improve the robot working performance. In industrial field, many robots are designed with a high stiffness for tracking the planned trajectories precisely. But it would be very dangerous once the robot collides with human or unknown environment[4]. Since the high stiffness robots cannot collaborate with human safely, a lot of interesting works can be found in the area of human-friendly robots to cope this problem[5, 6]. Those researches include mechanical design, compliant components, planning and control, etc.[79]

With the increasing requirement of human-robot collaboration, the safety is becoming increasingly important[1012]. Although some methods have been used to improve robot safety, but most of them are still in the laboratory phase. Generally, the approaches used to improve the human-robot safety can be classified in two types: pre-impact method and impact method[13].

The first approach is to take action for avoiding collision before impacting (that is pre-impact method). A vision system is often used to detect the robot environment and guide for safe human-robot interaction. For example, image based technology can be used to detect the object or human in real-time and estimate the distance to actively control the robot to realize collision avoidance[14, 15]. Other methods for collision avoidance are typically based on the use of external sensors. For example, non-contact sensors are equipped on robot to detect the approaching of the obstacle, and the controller will use the sampled signals to adjust the robot′s motion[1618]. A new method was proposed in [19, 20], in which a real-time danger index was adopted when humans get close to robot based on a nonlinear danger factor. If the information used to calculate danger index is enough, this method can thoroughly avoid the collision with humans theoretically, and ensure the humans safety. But the calculation of danger index requires the distance, relative velocity between human and robot, and robot inertia. It is very difficult to obtain all the information in real time during motion. In this case, the practicability of this method is restricted to some extent and is still in development. The second approach is to reduce the impact force by taking passive or active method in the impact phase. The passive method can increase the compliance of robot manipulator. It includes the mechanical design of the robot, and the collision force can be reduced to some extent in impact phase. For example, a changeable stiffness mechanism installed on the robot joint was proposed by Hyun to achieve robot compliance[21]. The joint stiffness is kept high when robots are in normal work state, but it is reduced dramatically and immediately after robots and human collide, and the system comes into a safe mode. So the hazard to human is decreased. In addition, Kong et al.[22] proposed serial elastic actuation design to improve robot compliance. Researchers also proposed to employ dual actuation or parallel actuation for every joint of the robot[23]. But those methods make the robot system more complicated and difficult to use. At the same time, it inevitably produces a non-ignorable impact to human that may be dangerous with the released potential energy[4]. Furthermore, light weight robots can efficiently reduce the impact force, such as the light-weight robot developed at the German Aerospace Center. A guideline for determining the link mass of a robot arm for collision safety is presented in [24]. Compliant covering can also be designed for robot to suppress colliding force[2527]. Another way to improve robot collision safety in the impact phase is to adopt active control method[13]. When the mechanical compliance of robot is absent, an efficient method to achieve human-robot collision safety is through detecting impact actively and then switch to an appropriate reaction strategy. De Luca et al.[13, 28, 29] did a lot of work on human-robot collision detection and realized a failure-to-safety mode based on residual observer without using additional sensors. Besides, a collision detection method based on band-pass disturbance observer was proposed by Jung et al.[30]. A current based collision detection and compliance control method was presented to minimize the impact force[31]. Dimeas et al.[32] also proposed two methods for human-robot collision detection which are based on fuzzy and time series modelling. However, those works mainly focus on human-robot collision detection or reducing impact force. These proposed methods are hard to use or limited in practice. Moreover, few studies have considered to resume the interrupted task once human-robot got detached. This paper is mainly focusing on improving robot collision safety during impacting and resume the interrupted work to improve robot system task performance.

1.2 Switching control method for robot safety

Comparing with the existing methods, similar approaches have also been used. As mentioned above, De Luca et al.[13, 28, 29], mainly focused on collision detection and safe reaction properties to improve robot collision safety. Those works only used the safe action to move the robot away from the impact area to limit the impact force as fast as possible. A switching method was presented by Erden for car disassembly field[33], in which the robot can switch between the interactive mode and wait mode. In the interactive mode, the robot follows the movement of the human through updating the reference position. The robot is stationary in wait mode and does no harm to humans. A control scheme combining motion performance and safe reaction to collision was proposed in [34]. This scheme also contains a nominal performance operation mode and an impact reaction mode. The scheme took a disturbance threshold to identify collision and then switch between the two modes based on the disturbance magnitude. However, it is hard to choose the disturbance threshold to make the performance effective, and the transition process is too complicated to keep balance between the task performance and robot safety. Moreover, the resumption of the interrupted task is not considered in those papers.

Robot safety problem is far from being resolved thoroughly, even though many solutions have been proposed by researchers. Currently, it is mainly centralized in academic researches, and the practicability is very limited. We have carried out some research work about position and torque switching control for robot[35], and this paper is a continuation of that method. In this paper, some problems are expected to be resolved as follows.

1) Proposing a position and torque switching control strategy, in which position control is applied in working mode, and torque control is used as a safe mode to limit the impact force to human.

2) The system can change the control mode between position and torque control automatically in accordance with specific conditions, and the operation can be resumed from human-robot collision.

3) SMC method is employed in torque control, which can decrease the swing caused by friction in torque control, and make system more stable.

4) Replacing torque sensor with motor current sensor not only improves link stiffness and frequency band, but also makes robot structure more compact and less costly.

Taking above points into the control system, the robot would have greater safety and become more practical. This paper is structured as follows. In the next section, robot safety control scheme is described in detail. Robot position control method is presented in Section 3, and Section 4 describes robot torque control method. Robot position and torque switching control method is described in Section 5. The experiments are given in Section 6. Finally, the conclusions are presented in Section 7.

2 Robot safety control scheme 2.1 Robot joint selection for safety control

Usually, multi-degree-of-freedom robots are more flexible and can be adopted to do more complex and fine work. For example, six degree-of-freedom (DOF) robots are usually used in industrial applications. As shown in Fig. 1, the end-effector position $P$ can be controlled mainly by $J_{1}$ , $J_{2}$ and $J_{3}$ , and posture ( $e_{wx}$ , $e_{wy}$ , $e_{wz}$ ) can be adjusted mainly by $J_{4}$ , $J_{5}$ and $J_{6}$ . When the robot collides with human or other object, every joint will bear a torque. Normally, if every one of the joints have some compliance, it will be helpful to reduce the impact and will have a better safety. Therefore, one of the joints was taken as the study objective in this paper.

2.2 Robot joint modelling

The robot joint usually consists of motor, gear, link and load. A DC motor is used in this scheme, and torque control can be realized by detecting motor current. A torque sensor is installed on the link axis just used for comparison with motor current feedback, when the robot is in torque control mode. Commonly, the structure of joint in a robot is similar. In order to be more intuitive and easy to understand, we choose a joint similar to $J_{2}$ (in vertical position) in Fig. 1 as the research object. The robot joint model is shown in Fig. 2 (hereafter called RJM). The mathematical model of the RJM can be calculated as follows:

 ${I_a} {\ddot \theta _a} + {b_a} {\dot \theta _a} = {T_a} - {T_{m1}}$ (1)
 $I \ddot \theta + b \dot \theta = {T_{m2}} - {T_l}$ (2)
 ${U_a} = {L_a}\frac{{{ d}{I_a}}}{{{ d}t}} + {R_a} {I_a} + {V_e}$ (3)
 ${T_a} = {K_t} {I_a}$ (4)
 ${V_e} = {K_e} \omega$ (5)
 ${T_{m2}} = n {T_{m1}}$ (6)
 $\theta = \frac{{{\theta _a}}}{n}$ (7)
 ${T_l} = mgr \sin \theta$ (8)

where $I_{a}$ is motor inertia, $b_{a}$ is motor damping coefficient, $T_{a}$ is motor torque, $T_{m1}$ is motor axis load torque, $I$ is link and load inertia, $b$ is link and load damping coefficient, $T_{l}$ is load torque, $V_{e}$ is motor induced electromotive force, $T_{m1}$ is link axis input torque, $n$ is gear ratio, $K_{t}$ is motor torque factor, $K_{e}$ is motor induced force factor, $I_{a}$ is motor current, ${\theta}_a$ is motor axis rotating angle, ${\theta}$ is link rotating angle, and $r$ is link arm radius.

2.3 Design for safety improvement

The position and torque hybrid control was proposed in [36, 37] to improve the joint compliance. Variable stiffness or impedance control methods are also adopted to improve the joint compliance as in [38, 39]. Although, those approaches can improve the robot safety to a certain extent, it is not suitable to be used for improving human safety. In position and torque switching control, robot arm works in position control mode before human-robot collide, and after human and robot detach. Only during the collision, robot arm works in torque control mode for safety. When human is detached from robot arm, robot arm will resume and finish the task, as shown in Fig. 3. Position control has two stages, the first stage is before torque control, and the second stage is after torque control. The position control is used for positioning and trajectory tracking, and torque control is used as a safe mode for limiting the impact force produced by collision between robot arm and human. The whole control scheme is shown in Fig. 4.

The transfers in position and torque switching control are implemented by switching algorithm. Trajectory should be planned before starting task for the first stage of position control, and must be re-planned at the beginning of the second stage of position control. Torque control is used to limit contact force exerted on human body to be lower than a reference value, and further to keep the force as invariable as possible. Since the load is different in different position according to (8) and the collision may happen at any time during operating, the reference torque input must be planned based on current motion parameters such as position, velocity, and load torque.

3 Robot position control

The purpose of position control is to track planned trajectory, and here PI algorithm is used. Position control diagram is shown in Fig. 5, where the transfer function can be derived

 $\frac{{\theta (S)}}{{U(S)}} = \frac{{n{K_t}}}{{LJ{S^3} + (LB + RJ){S^2} + (RB + {n^2}{K_e}{K_t})S}}$ (9)

where $J = {n^2}{I_a} + I$ and $B = {n^2}{b_a} + b$ . If $\frac{L}{R} \approx 0$ , the above equation can be simplified as

 $\frac{{\theta (S)}}{{U(S)}} = \frac{{n\frac{{{K_t}}}{R}}}{{J{S^2} + (B + {n^2}{K_e}{K_t})S}}.$ (10)

It is assumed that the reference position input is ${\theta}_d$ , and the reference velocity is $\dot{\theta}_d$ . If the real position and velocity of robot arm link are ${\theta}_d$ and $\dot{\theta}$ respectively, the errors of position and velocity are as

 ${e_1} = {\theta _d} - \theta$ (11)
 ${e_2} = {\dot \theta _d} - \dot \theta .$ (12)

Define the following relations

 ${e_0} = \int {{e_1}} {\mkern 1mu} {{d}}t$ (13)
 ${u_{(t)}} = {K_p}{e_1} + {K_i}{e_0}.$ (14)

Then, the state equation about errors can be derived

 $\begin{split}\left[{\begin{array}{*{20}{c}}{{{\dot e}_0}}\$5pt]{{{\dot e}_1}}\$5pt]{{{\dot e}_2}}\end{array}} \right] = & \left[{\begin{array}{*{20}{c}}0&1&0\$5pt]0&0&1\$5pt]{-\displaystyle\frac{{n{K_t}}}{{JR}}{K_i}}&{-\displaystyle\frac{{n{K_t}}}{{JR}}}&{-\displaystyle\frac{{BR + {n^2}{K_e}{K_t}}}{{JR}}}\end{array}} \right] \$5pt] & \left[{\begin{array}{*{20}{c}}{{e_0}}\$5pt]{{e_1}}\$5pt]{{e_2}}\end{array}} \right] + \left[{\begin{array}{*{20}{c}}0\$5pt]0\$5pt]1\end{array}} \right]{U_d}\end{split}$(15) where ${U_d} = {\ddot \theta _d} + \frac{{RB + {n^2}{K_e}{K_t}}}{{JR}}{\dot \theta _d}.$(16) From Routh criterion, it can be concluded that the system is stable, if the system meets the following equation: ${K_p} > \frac{{JR{K_i}}}{{BR + {n^2}{K_e}{K_t}}}.$(17)  Download: larger image Fig. 5. Position control diagram 4 Robot torque control 4.1 Robot torque control algorithm Torque control is used to impose an approximate unchangeable and harmless force on human. In torque control mode, robot arm often comes rashly into an oscillated state, and is hard to asymptotically stabilize due to the static and dynamic frictions. During the oscillation, speed amplitude and direction are variable, which causes the corresponding change of the torque in joint axis, and such torque change inversely drives the robot arm to oscillate further. To resolve this problem, a speed restraining coefficient has been proposed in this scheme. Its function is to dramatically reduce the allowable maximal oscillating speed. The speed restraining coefficient is defined as $\left\{ {\begin{aligned}& {{K_v} = {A_v}\displaystyle\frac{{{\omega _{\max }}}}{{\dot \theta }}, }&{|\dot \theta | > |{\omega _{\max }}|}\\& {{K_v} = 1, }&{|\dot \theta | \le |{\omega _{\max }}|}\end{aligned}} \right.$(18) where$K_{v}$is speed restraining coefficient,$A_{v}$is the factor of speed restraining coefficient and less than 1,${\omega _{\max }}$is the expected maximal upper limited speed during torque control, and$\dot{\theta}$is the real angular velocity. In torque feedback control loop, the error between reference torque and detected torque is revised as ${E_T} = {K_v}({T_s} - {T_a})$(19) where$E_{T}$is revised torque error,$T_{s}$is reference torque, and$T_{a}$is real torque. It can be seen that, if the real angular velocity does not exceed the maximal speed${\omega _{\max }}$during torque control, the torque error used for control is the error between reference torque and real torque. If the real angular velocity exceeds the maximal speed, the error will be multiplied by speed restraining coefficient, which can reduce the torque error. The$A_{v}$is used to adjust the sensitivity in (18). Considering the static friction, hysteresis comparator has also been used in torque control loop as $\left\{ {\begin{aligned}& {{E_T} = {E_T}, }&{|{E_T}| > |{E_0}|}\\& {{E_T} = 0, }&{|{E_T}| \le |{E_0}|}\end{aligned}} \right.$(20) where$E_{0}$is a very little constant torque, and its value is related to maximal static friction. The force on human should be non-fluctuating, thus the reference torque in torque control mode must be changed based on kinematics parameters, which can be calculated as ${T_s} = \hat T + {T_b}$(21) $\hat T = I \ddot \theta + b \dot \theta + mgr \sin \theta + {T_f}$(22) where$T_{b}$is the torque on human,$\hat{T}$is the torque observed output, and$T_{f}$is static or nonlinear part of dynamic friction disturbance. The principle of torque control is as shown in Fig. 6. During the interaction between robot arm and human, human not only can passively bear the pressing force, but also can give a pressure to robot arm actively, and can even drive robot arm to move. In all cases, friction torque has its own value and direction. It is hard to model exactly and has strong nonlinear characteristic, thus friction is the main disturbance during torque control. The hybrid of sliding mode control adopted in torque control to eliminate the influence of friction on torque precision and stability, and decrease human′s discomfort caused by shaking when using the SMC alone[40, 41]. It is important that only proportional control cannot make robot arm stable as shown from experiments, and an integral item of torque error must be added as ${E_I} = {e_1} = \int {{E_T}} {\mkern 1mu} {{d}}t.$(23) Assuming$e_2=E_T$, torque error state equation is given by $\begin{split}\left[{\begin{array}{*{20}{c}}{{{\dot e}_1}}\$5pt]{{{\dot e}_2}}\end{array}} \right] = & \left[{\begin{array}{*{20}{c}}0&1\$5pt]0&{-\frac{R}{L}}\end{array}} \right]\left[{\begin{array}{*{20}{c}}{{e_1}}\$5pt]{{e_2}}\end{array}} \right] + \left[{\begin{array}{*{20}{c}}0\$5pt]1\end{array}} \right]\left({\dot T_s} + \frac{R}{L}{T_s}\right)+ \$3pt] & \left[{\begin{array}{*{20}{c}}0\$5pt]{-\frac{{{K_t}}}{L}}\end{array}} \right]u(t).\end{split}$(24) The sliding surface is defined as $S = C{e_2} + {e_1}.$(25) The control output of PI+SMC is defined $u(t) = {K_i}{e_1} + {K_p}{e_2} + \delta {{sgn}}(S)$(26) where the first two items are integral and proportional respectively. The last one is SMC, where$\delta$is a constant which relates to control system and it can be optimized through experiments. The second term on the right side of (24), including load and nonlinear friction disturbance, can be compensated by the SMC. The following is to certify the stability by Lyapunov function. Substituting (26) into (24), a new state equation can be derived $\begin{split}\left[{\begin{array}{*{20}{c}}{{{\dot e}_1}}\$5pt]{{{\dot e}_2}}\end{array}} \right] = & \left[{\begin{array}{*{20}{c}}0&1\$5pt]{-\frac{{{K_t}{K_i}}}{L}}&{-\frac{{R + {K_t}{K_p}}}{L}}\end{array}} \right]\left[{\begin{array}{*{20}{c}}{{e_1}}\$5pt]{{e_2}}\end{array}} \right] + \$3pt]& \left[{\begin{array}{*{20}{c}}0\$5pt]1\end{array}} \right]({{\dot T}_s} + \frac{R}{L}{T_s}) + \left[{\begin{array}{*{20}{c}}0\$5pt]{-\frac{{{K_t}}}{L}}\end{array}} \right]\delta {{sgn}}(S).\end{split}$(27) Assuming,$A=\begin{bmatrix}0&1\\{-\frac{K_tK_i}{L}}&{-\frac{R+K_tK_p}{L}}\end{bmatrix}$,$D=\begin{bmatrix}0\\1\end{bmatrix}$, and$B=\begin{bmatrix}0\\-\frac{K_t}{L}\end{bmatrix}$. Furthermore, assuming Lyapunov function as $V(E) = {E^{{T}}}PE + \frac{1}{2}{S^2}$(28) where$E = \left[{\begin{array}{*{20}{c}} {{e_1}}\\ {{e_2}} \end{array}} \right]$, if existing positive definite symmetric matrix P and$\delta$are constant, in all the scope of$\|E\|>0$,$V(E)>0$and$\dot V(E)<0$are both met. It can be concluded that system is stable. Then, substituting (27) into the derivative of (28), it can be derived as ${\dot V}(E) = {E^{{T}}}({A^{{T}}}P + PA)E + (fM + S(C{\dot e_2} + {e_2}))$(29) where$f = {\dot T_s} + \displaystyle\frac{{{T_s}R}}{L}$is nonlinear disturbance, and$M = {D^{{T}}}PE + {E^{{T}}}PD$. The purpose of SMC is to compensate$fM$item. Assuming${A^{{T}}}P + PA = - I$, where$I$is identity matrix, the following can be derived: ${\rm{\backslash setcounter}}equation30P = \left[ {\begin{array}{*{20}{c}} {\frac{{R + {K_t}{K_p}}}{{2{K_t}{K_i}}} + \frac{{{K_t}{K_i} + L}}{{2(R + {K_t}{K_p})}}}&{\frac{L}{{2{K_t}{K_i}}}}\\ {[8pt]\frac{L}{{2{K_t}{K_i}}}}&{\frac{{L({K_t}{K_i} + L)}}{{2{K_t}{K_i}(R + {K_t}{K_p})}}} \end{array}} \right].$(30) To ensure$P$positive definite,$K_i$and$K_p$must meet the following conditions: $\left\{ {\begin{aligned}& {{K_i} > 0}\\& {{K_p} > - \frac{R}{{{K_t}}}.}\end{aligned}} \right.$(31) The second term on the right side of (29) is less than 0, and then it can be derived as $\begin{split}\delta > & \max \left(\frac{L}{{{K_t}}}\left(\left(1 - \frac{{CR}}{L}\right){e_2} + \left({{\dot T}_d} + \frac{R}{L}{T_d}\right) + \frac{{fM}}{S}\right), \right.\!\!\!\\& - \left.\frac{L}{{{K_t}}}\left(\left(1 - \frac{{CR}}{L}\right){e_2} + \left({{\dot T}_d} + \frac{R}{L}{T_d}\right) + \frac{{fM}}{S}\right)\right)\end{split}$(32) where$\displaystyle\frac{fM}{S}=\displaystyle\frac{(P_{21}+P_{12})e_1+2P_{22}e_2}{e_1+Ce_2}$, when$e_1 \rightarrow 0$and$e_2 \rightarrow 0$, no matter$\displaystyle\frac{{{e_2}}}{{{e_1}}}$is varying from 0 to$\infty$,$\displaystyle\frac{{fM}}{S} = \displaystyle\frac{{({P_{21}} + {P_{12}}) + 2{P_{22}}\frac{{{e_2}}}{{{e_1}}}}}{{1 + C\frac{{{e_2}}}{{{e_1}}}}}$is a finite value. During torque control, the reference torque can be calculated according to (21). Moreover, much attention should be paid to the direction of$T_f$and$T_l$in different moving trend and position when precise control is needed, and the friction force$T_f$is small relative to gravitational moment$T_l$. In order to simplify the control, the friction force$T_f$is considered as a system disturbance in this paper.  Download: larger image Fig. 6. Torque control diagram 4.2 Torque observer with motor current as the feedback In torque control, torque sensor is usually required in order to obtain the real torque value. If each robot joint is installed with a torque sensor on the axis, the whole robot structure will be very large, and it will not only reduce the stiffness of the robot, but also increase the design difficulty and cost greatly. On the other hand, the obtained information of the force sensor contains lots of noise, and may lead the control system into an unstable state due to the narrow bandwidth and soft mechanical structure of the force sensor[42]. It is appealing no torque sensor is directly used in the robot control system. Thus, a torque observer is designed in this section to replace the torque sensor. In this scheme, a DC motor is adopted, whose working current can be used to calculate motor torque output according to (4). Then, the arm link axis torque detected by torque sensor can be estimated based on motor torque output and mathematical model. This method for torque control is called direct motor current feedback. From (1) to (7), it can be derived as ${T_{m2}} = I\ddot \theta + b\dot \theta + {T_l}$(33) ${T_a} = {I_a}{\ddot \theta _a} + {b_a}{\dot \theta _a} + {T_{m1}}$(34) where$\ddot{\theta}_a= n \ddot{\theta}$,$\dot{\theta}_a= n\dot{\theta}$,$T_{m2}=nT_{m1}$. After Laplace transform, the above two equations can be represented as $\frac{{{T_{m2}}(s)}}{{n{T_a}(s)}} = \frac{{(I{s^2} + bs)\theta (s) + {T_l}(s)}}{{((I + {n^2}{I_a}){s^2} + (b + {n^2}{b_a})s)\theta (s) + {T_l}(s)}}.$(35) Furthermore, link axis torque can be estimated using motor current dynamically by using following equation: ${T_{m2}}(s) = \frac{{n P(S)}}{{P(S) + {n^2}Q(S)}}{T_a}(S)$(36) where$P(S)=IS^2\theta(S)+bS\theta(S)+T_l(S)$, and$Q(S)=I_aS^2\theta(S)+b_aS\theta(S)$. When the system comes into stable state, we have $\mathop {\lim }\limits_{s \to 0} \frac{{{T_{m2}}(s)}}{{{T_a}(s)}} = n \Rightarrow {T_{m2}} = n{T_a} = n{K_t}i$(37) where denominator$T_a(s)$can be obtained by motor current sampling and feedback, and numerator$T_{m2}(s)$is link axis torque. According to (36) and (37), the link axis torque$T_{m2}$can be calculated by detecting motor current during torque control. In dynamic stage of torque control, the error between$T_{m2}$and$nT_{a}$is inevitable, because of the moment of system inertia and damping. 5 Robot switching control 5.1 Position to torque switching control The most important in the position and torque switching control strategy is the switching way between position and torque control mode. In position control mode, controller adjusts the motor voltage in real time to keep the minimal positioning error, and only position sensor is needed in the feedback control loop. However, in torque control mode, the force on human should be limited for safety, thus the torque sensor should usually be installed. In this switching control scheme, a torque observer proposed in Section 4.2 is adopted to obtain the torque observation value instead of the torque sensor[43]. The torque observer model can be corrected, if its output value is not coincident with the real torque detected from torque sensor on the condition of no interaction between robot arm and human. The measured torque sensor value is only used to contrast with the torque observation value, and not used in control loop. The output value of torque observer and torque sensor varies relatively slow in normal work mode. However, both the obtained torque value from torque observer and torque sensor will be increased immediately once robot and humans collide. The changed value from torque observer before and after collision can be taken as the signal of robot and human collide or not. In this case, a threshold must be taken to decide when robot arm should switch control mode. The larger threshold can resist the larger disturbance, but will produce a heavier impact force on human. Inversely, if the threshold value is too small, the hazard impact on human is little, but in normal position control mode, the robot may switch to torque control mode unexpectedly. In such case, the threshold value should be determined depending on the actual requirements of the system. In this paper, the threshold value is obtained from experiments. The system kinematics, dynamics, disturbance, and misjudgment are considered. After setting the threshold value, robot arm control mode will be switched when the above difference reached this threshold. Fig. 7 shows the switching process.  Download: larger image Fig. 7. Position and torque switching control process In the torque control mode, robot arm should maintain a relatively stable force on human to achieve better safety performance. Furthermore, the robot arm can move passively forward or backward according to human′s motion before they get apart from each other.  Download: larger image Fig. 8. Torque to position switching control 5.2 Torque to position switching control The robot arm provides a constant contact force on human in torque control mode, and it should provide a switching signal to turn to position control when human and robot get detached. In torque control mode, the robot follows the movements of the human. The movement is slow, and the acceleration is very small and negligible. When human and robot arm get detached, it has to generate a rotary acceleration immediately based on the reference torque. So the velocity sudden change can be detected to perform the switching control. When the velocity change runs up to the threshold value, system will switch to position control, as shown in Fig. 8. The duration of torque control in this design is random, as the point$t_1$to point$t_2$shows in Fig. 8. Different time duration of torque control will cause different reference position of robot arm. For example, in torque control mode, as Fig. 8 shows, the reference position is from point$A$to point$P'$. However, the real position of robot arm is at point$P$when it is ended, thus a large deviation of reference position and real position of robot arm may arise. Consequently, the new reference position after resumption is current real position point$P$instead of reference position point$P'$. Therefore, robot arm trajectory must be re-planned. 6 Experiments 6.1 Experiment platform Without loss of generality, one DOF robot arm experiment platform has been established to verify the position and torque switching control method, as shown in Fig. 9. The experiment platform contains a DC motor which is equipped with a 256Imp encoder, a harmonic gear, a torque sensor, a 0.35 length arm, a 0.5 kg equivalent weight load, a personal computer (PC) used as controller, an analog to digital (AD) and digital to analog (DA) conversion card. Before going into AD conversion, torque signal is filtered and amplified by the equipment. The ratio of signal voltage and torque is 1:2. The framework diagram is shown in Fig. 10. The one DOF robot arm rotates in vertical plane. So the torque produced by the load is changeable while moving in vertical plane. It can be regarded as a nonlinear disturbance in this system.  Download: larger image Fig. 9. Experiment platform  Download: larger image Fig. 10. Experiment platform composition 6.2 Position and torque control experiment using PI algorithm In the first experiment, a conventional PI algorithm is used in position and torque control in the platform separately. In position control, when the robot arm and human collide, torque produced by motor will increase dramatically and immediately, as shown in Fig. 11, and system will be unstable. The contact force is related to motor electric power. The higher the power is, the heavier the impact is. Therefore, position control with PI algorithm is very dangerous, if robot arm collides with human. Thus some actions must be taken to limit the contact force to human, and torque control is adopted to solve such problem. Similarly, PI algorithm is also used in torque control, and the experimental result is shown in Fig. 12. It can be seen that the arm is always in a swing state, though the torque is controlled within a small scope. This swing motion will lead arm link unable to keep a constant force on human, and cannot be predicted. Consequently, only using conventional PI algorithm cannot solve torque control problem completely. In fact, torque control is more difficult than position control. In this design, torque control is used as a safe protection mode for human. It is required that the force exerted on human is not bigger than a given value, and the force on human is kept as invariable as possible.  Download: larger image Fig. 11. Position control without safety  Download: larger image Fig. 12. PI algorithm based torque control 6.3 Algorithm verification The proposed position and torque switching control method is taken to resolve above problems, and some control algorithms have been used in this system. In the experiment, the PI algorithm is used in position control. Since the experiment platform is a complicated nonlinear system, a SMC algorithm is adopted in torque control to compensate nonlinear disturbance[41]. Thus PI+SMC algorithm is used in torque control, and speed restraining coefficient and hysteresis comparator have been introduced to improve its performance. The experiment task is designed in pursuit of 0–5$\pi$rad trajectory in 25, so the reference angular velocity is 0.2$\pi$rad/s. Robot arm and human can collide at any position point and detach at any time, and then trajectory tracking task should be resumed. Trajectory tracking of whole switching control process is shown in Fig. 13, where$A$and$B$are the switching points. The first stage of position control is before$A$, and the second stage of position control is after$B$. In the switching control process, the torque variation is shown in Fig. 14, where$A$and$B$in Fig. 14 are corresponding to$A$and$B$in Fig. 13, respectively. Torque control is between$A$and$B$, and position to torque switching control threshold is$DT$. In torque control mode, the torque keeps constant, and the robot arm rotating velocity is shown in Fig. 15. In position control mode, robot arm velocity has a$\pm$0.05 rad/s fluctuation as a result of variable load in vertical rotating plane. An obvious speed oscillation has also existed when the robot switched from position to torque control. The oscillation in the switching process is highlighted by an ellipse in Fig. 15. In fact, the oscillating degree is different for different angle$\theta$. Experiments found that the velocity oscillation in switching moment is more evident, when load torque and friction torque are in the same direction.  Download: larger image Fig. 13. Trajectory tracking of switching control process  Download: larger image Fig. 14. Torque variation during switching control  Download: larger image Fig. 15. Angular velocity variation during switching control Torque value generated by the torque sensor and motor current were used as the feedback signal in the closed loop control in the experiments, respectively. The result of torque sensor as the feedback is shown in Fig. 16. In the first stage of position control, the two torque values from torque sensor and motor current have a relatively evident error for the influence of damping and acceleration. In static torque control stage, the error of the obtained torques is closer, but motor current has a bigger fluctuation. The result of motor current as the feedback is shown in Fig. 17. It is remarkable that, the torque getting from motor current is stable. The torque from torque sensor has an irregular variation. This is because that human not only can be a passive objective bearing pressure, but also can exert a force on robot arm actively even in static interaction state. At the same time, the force from the human will change static friction force. So the link axis torque has to change correspondingly. In this design, torque control is used to provide a safe mode to human, which does not need very precise torque control, thus the direct motor current feedback can meet the requirement and is completely feasible.  Download: larger image Fig. 16. Torque comparison when torque sensor is used for feedback  Download: larger image Fig. 17. Torque comparison when motor current is used for feedback 6.4 Human-robot collision and performance experiment Human and robot collision and performance experiment is conducted with experiment platform as shown in Fig. 9. The proposed position and torque switching control method is verified through above experiments. In this section, in order to verify the effectiveness and the performance of the proposed method in human-robot interaction application, we conducted a human-robot collision and cooperation experiment as shown in Fig. 18. The parameters of the control system are setup as previous Section 6.3. So the robot joint reference angular velocity is 0.2$\pi\$ rad/s in the counter-clockwise direction as the red arrow in Fig. 18. Taking into account the safety of human body, the human hand is used to collide with the robot. It is one of the most likely collisions in human-robot interaction applications. In order to get the most suitable threshold value for the proposed position and torque switching control method, we carried out the experiments many times. The obtained data are consistent even the experiment was operated by different persons. The threshold value used to trigger the switching was set as 10 N in our experiments (50 N is the human pain tolerance force[25]). In the normal working condition, robot manipulator is in position control mode to perform the task performance as shown in Fig. 18(a). When human hand is in the robot work space, as shown in Fig. 18(b), the robot should be safe for the human. The robot is switched to torque control mode when the robot detects the collision. The robot and human hand have a collision as shown in Fig. 18(c). Furthermore, when the robot is running in the torque control mode, it can follow the movement of the human hand which is a simple way representing human-robot cooperation. The robot follows the back and forth movements of the human hand shown in Figs. 18(d) and 18(e) as denoted by blue arrow, respectively. Once the collision or contact disappeared, the robot can switch to position control mode immediately and then resume the interrupted work as showed in Fig. 18(f). It should be pointed out that only one joint was adopted for this study in above experiments. It is only the first step for our robot safety research. It is limited, but can provide a basis for future multi-degree-of-freedom robot safety study.

 Download: larger image Fig. 18. Robot and human hand collision experiment (Color version of Fig. 18 is availble online.)

7 Conclusions

In physical human-robot interaction task, robots and humans need to work in the same space. The issue needed to be solved urgently is how to ensure the safety of the robot and the human body. Therefore, a position and torque switching control method is proposed in this paper for better robot collision safety. This control method improved the robot safety when robot arm and human collided and no additional cost or equipment are needed. This method strictly limits the collision force to human, and robot can resume and finish the work after human and robot detached. The PI algorithm is used in position control to achieve trajectory tracking efficiently. In torque control, not only speed restraining coefficient and hysteresis are compared, but also PI+SMC algorithms are adopted to eliminate the arm swing and compensate system′s nonlinear disturbance. Moreover, the direct motor current feedback is used to replace torque sensor to improve the control system performance and practicability. The effectiveness and feasibility of proposed position and torque switching control method has been verified from the experiments in one DOF robot arm platform. The result shows that the switching control method has the potential to provide better human safety in human-robot interaction field. Our future work is to extend this approach to multi-degree freedom robots.

Acknowledgement

We would like to thank the reviewers for their careful review and constructive suggestions and the work of editors. Thanks also for the help of the team members.

References