Research Article Model-based sensorless robot collision detection under model uncertainties with a fast dynamics identification International Journal of Advanced Robotic Systems May-June 2019: 1–15 ª The Author(s) 2019 DOI: 10.1177/1729881419853713 journals.sagepub.com/home/arx Pengfei Cao1,2 , Yahui Gan1,2 and Xianzhong Dai1,2 Abstract This article presents a novel model-based sensorless collision detection scheme for human–robot interaction. In order to recognize external impacts exerted on the manipulator with sensitivity and robustness without additional exteroceptive sensors, the method based on torque residual, which is the difference between nominal and actual torque, is adopted using only motor-side information. In contrast to classic dynamics identification procedure which requires complicated symbolic derivation, a sequential dynamics identification was proposed by decomposing robot dynamics into gravity and friction item, which is simple in symbolic expression and easy to identify with least squares method, and the remaining structure-complex torque effect. Subsequently, the remaining torque effect was reformulated to overcome the structural complexity of original expression and experimentally recovered using a machine learning approach named Lasso while keeping the involving candidates number reduced to a certain degree. Moreover, a state-dependent dynamic threshold was developed to handle the abnormal peaks in residual due to model uncertainties. The effectiveness of the proposed method was experimentally validated on a conventional industrial manipulator, which illustrates the feasibility and simplicity of the collision detection method. Keywords Sensorless collision detection, human–robot interaction, dynamics identification, model uncertainty, Lasso Date received: 9 November 2017; accepted: 23 April 2019 Topic: AI in Robotics; Human Robot/Machine Interaction Topic Editor: Chrystopher L Nehaniv Associate Editor: Lajos Nagy Introduction Robot collaborating with humans in both domestic and industrial area is increasingly becoming a research focus, and much effort has been devoted to realize human–robot collaboration in which both counterparts share the same workspace to accomplish a goal via different interaction modes.1,2 Compared to conventional robots strictly confined within safe fence to avoid any possibility of physical interaction when robot is performing a predefined task, collaborative robots, also known as co-bots, have been regarded as a new generation of robots with the feasibility to complete the complementary task with close involvement of operator or direct physical contact with human for cooperation through high-level autonomy. The arising concern of safety is a critical challenge when a close distance between humans and robotic apparatus is typically demanded for collaboration scenario since the chance of 1 School of Automation, Southeast University, Nanjing, People’s Republic of China 2 Key Laboratory of Measurement and Control of Complex Systems of Engineering, Ministry of Education, Nanjing, People’s Republic of China Corresponding author: Yahui Gan, School of Automation, Southeast University, No. 2 Sipailou, Xuanwu, Nanjing 210096, People’s Republic of China. Email: y.h.gan@seu.edu.cn Creative Commons CC BY: This article is distributed under the terms of the Creative Commons Attribution 4.0 License (http://www.creativecommons.org/licenses/by/4.0/) which permits any use, reproduction and distribution of the work without further permission provided the original work is attributed as specified on the SAGE and Open Access pages (https://us.sagepub.com/en-us/nam/ open-access-at-sage). 2 unexpected collision significantly increases due to one’s frequent intervention into the robot’s operation space.3–5 To address the issues of safety, several related technical standards have been proposed to provide guidance for collaborative robots in order to minimize the potential injury risks caused by collisions between the robot and human operator or its surrounding environment.6–8 Generally speaking, effective schemes dealing with collision can be divided into pre-collision and post-collision strategies based on when the active actions are given with respect to time of impact. On the one hand, the former strategies can usually achieve desirable collision-free performance by actively providing appropriate collision avoidance path using additional sensors to perceive unstructured surrounding environment, which is sometimes sophisticated and probably computational heavy.9–12 For example, human–robot coexistence can be guaranteed by introducing preventive approaches aiming at monitoring the operator’s distance to robot body with stereo vision10 and proximity sensors.12 On the other hand, post-collision strategies give a reactive response to the impact without the requirements of real-time locating operator’s position and a complex path planning algorithm to avoid obstacles.2,13–18 Meanwhile, the algorithmic simplicity of post-collision scheme is always at the cost of the potential collision impact due to its intrinsic property that collision could not be detected until the impact between the robot and its surroundings occurs, which highlights the significance of how to accurately diagnose the abnormal signals resulting from the unexpected collision. However, the post-collision scheme, which succeeds in minimizing the unintended collision threats, is attractive to reduce the costs of external sensing and potential failures due to the integration of additional perceptive components, making the approach preferable for cost-sensitive industrial applications.2,19,20 In human–robot collaboration context, a comprehensive risk assessment is particularly required for robotic system adopting the post-collision strategy to embed safety scheme such as collision detection and reaction into the control system. Crash testing in robotics by Haddadin et al. experimentally manifested how the factors like robot mass and velocity affect the injury severity index from both biomechanics and forensics aspects through human–robot impact voluntary testing.4,21 It was demonstrated that a lightweight manipulator with compliant actuation is less likely to cause fatal injuries.22–25 Lightweight designed robots are inherently suitable for close human–robot interaction with the desirable features of low inertia and reduced weight which allows driving torque output to decrease. Thus, the injury caused by collision is also considerably minimized in contrast to conventional heavy and stiff manipulators.22,23 In terms of compliant actuation, flexibility is introduced into the actuator,25 even with adjustable impedance property.26 Apart from the human-friendly design with compliant and lightweight property which does not necessarily ensure the operator’s safety, control for safe physical interaction International Journal of Advanced Robotic Systems allows the realization of collision handling with the primary motivation of detecting the impact-deduced signal as fast as possible before the robot has imposed excessive force on the operator. A simple but feasible approach is to monitor non-model-based signals such as the instantaneous transients in current or the variation of position, which to some extent characterizes the system fault in control system caused by external impact.27 These approaches suffered from the drawbacks of low sensitivity and system dependence as moderate impact may produce too sight influence to observe and the detection threshold is heavily dependent on control performance. Other accessible methods principally rely on the model-based signal, which requires the complex nonlinear system dynamic description and accurate dynamic parameters provided by robot manufactures or experimentally calibrated.13,19,20,28 A straightforward idea is to compare the actual torques with the estimated torques, which is easily calculated using the inverse dynamics providing real-time robot motion information, to generate the residual signal as the difference of these two torques. Thus, the residual signal is attributed to a collision under the assumption of precise dynamic parameters and modeling. This method has been refined by employing an observer of the generalized momentum to avoid double numerical differentiation of position to calculate the joint acceleration, which inherently reduces the measurement noise and improves the accuracy of the residual signal.13,15 In a similar perspective, several disturbance observers were also discussed to estimate the exogenous disturbance imposed by the environment.29–31 In summary, the effectiveness of these model-based methods critically relies on the accuracy of relevant dynamic parameters which always keep confidential and unavailable to users and need parametric calibration by a meticulous identification experiment, since the parametric errors structurally affect the residual signal as external disturbances. The dynamic parameter identification has been extensively researched to explore the issues including symbolic calculation of base parameter, excitation trajectory design, physical feasibility, and estimation method, which requires much effort and attention to derive the sophisticated symbolic expression and enhance the accuracy with a wellconditioned excitation trajectories. 32–35 One practical approach which combines machine learning method with model identification procedure enables the simplification of symbolic computation and a satisfying prediction performance.36–39 For instance, a data-driven machine learning approach was presented in literature39 to learn the dynamics of a planar two-link robot using a regressor selection technique while this method is limited to a class of planar robot whose fiction and gravity effect has little influence on the overall dynamics. Regardless of the parameter identification accuracy, the collision is eventually judged with the comparison of the residual signal and a certain threshold. A primary concern in designing threshold is how to achieve a trade-off between prevention of false alarm Cao et al. and detection sensitivity at the same time. It is worthwhile to tune the collision detection threshold rather than select a static threshold to achieve better detection performance.21,17 The generation of a dynamic threshold was elaborated in literature17 through an adaptive residual evaluation to tackle the uncertainties in robot dynamic parameters for a two-link robot, while the online computational burden would significantly increase for robot with more degrees of freedom (DOFs), and estimation errors would accumulate as a recursive scheme was adopted in the threshold formulation. In this article, a novel sensorless collision detection algorithm for human–robot collaboration scenario is presented on a conventional industrial robot without prior knowledge of dynamic parameters. Based on the modelbased collision handing framework, the unknown dynamic parameters of the manipulator, which is indispensable to reconstruct the inverse dynamics and consequently generate the residual signal, are estimated with a sequential identification procedure. The first step of the identification experiment is to predict the gravity and friction accounting for the major components of torque when robot is running in collaboration mode. Subsequently, a machine learning approach named Lasso is introduced to identify the remaining torque, avoiding the necessity of symbolic derivation of the sophisticated expression. Furthermore, by synthesizing state-dependent dynamic threshold, the residual signal is evaluated in case of model uncertainties. The rest of this article is organized as follows. Firstly, the dynamics modeling and model-based collision detection scheme are illustrated. Then, a fast dynamics identification is described with a sequential identification method. The gravity and friction effects are estimated with a classic method, and details are provided on the formulation of the remaining torque prediction using a machine learning approach. The residual signal is analyzed with a dynamic threshold to detect external disturbances. Subsequently, the proposed collision detection scheme is experimentally validated on a robot performing a predefined task. Finally, collusions and future directions are provided. Model-based collision detection Robot dynamic model For n-DOFs serial manipulator, let q m 2 Rn and t m 2 Rn , respectively, denote the motor positions and torques, and q 2 Rn and t 2 Rn , respectively, denote the positions and torques after the gear transmission. These according variables are connected with the transmission matrix R red 2 Rnn with q ¼ R1 red q m and t ¼ R red t m . However, in the presence of joint elasticity, the link positions q 2 Rn are not identical to the transmitted motor positions q . Stiff effects can be adopted to represent the flexible transmission model, along with additional damping effects. Without loss of generality, only the stiff model will be considered in this 3 study to simplify the analysis. Indeed, the above positions are involved in the dynamic model for robot with elastic joints as follows M l ðq Þ€ q þ C ðq ; q_ Þq_ þ G ðq Þ þ t f l ðq_ Þ þ K ðq q Þ ¼ t ext ð1Þ € þ t f m ðq_ Þ K ðq q Þ ¼ t Bq ð2Þ where M l ðq Þ 2 Rnn is the positive definite inertia matrix of robot link; C ðq ; q_ Þq_ 2 Rn is the centrifugal and Coriolis torque; G ðq Þ 2 Rn is the gravity item; B 2 R nn is the constant, diagonal matrix of the motor inertia moments; K 2 Rnn is the constant, diagonal joint stiffness matrix; t ext 2 Rn is the effective torque at joint level arising from the external impact force exerted on the robot link; and t f l ðq_ Þ 2 Rn and t f m ðq_ Þ 2 Rn are, respectively, the joint and motor friction torques. The Coulomb–viscous model is the most common model to characterize friction effect and thus the joint and motor friction torques could be depicted as t f l ¼ F vl q_ þ F cl signðq_ Þ at joint level and t f m ¼ F vm q_ þ F cm signðq_ Þ at motor level where ðF vl ; F vm Þ are viscous friction coefficients and ðF cl ; F cm Þ are Coulomb friction coefficients. Equations (1) and (2) are referred to as link equation and motor equation, respectively. By summarizing equations (1) and (2), we obtain q þ C ðq ; q_ Þq_ þ G ðq Þ þ t f l ðq_ Þ þ B q€ þ t f m ðq_ Þ M l ðq Þ€ ¼ t þ t ext ð3Þ Note that a completely rigid joint is always taken into consideration for simplified analysis (K ! 1), then q ¼ q , and we obtain the dynamic characteristic of nDOFs serial robot with rigid links and joints as follows M ðq Þ€ q þ C ðq ; q_ Þq_ þ G ðq Þ þ t f ðq_ Þ ¼ t þ t ext ð4Þ where M ðq Þ ¼ M l ðq Þ þ B 2 Rnn represents the lumped inertia and t f ðq_ Þ 2 Rn captures the combined friction effects at the link level as t f ðq_ Þ ¼ F v q_ þ F c signðq_ Þ with viscous friction coefficients F v ¼ F vl þ F vm and Coulomb friction coefficients F c ¼ F cl þ F cm . Although equation (4) is the ordinary form of the rigid robot and has been thoroughly researched theoretically and experimentally, we derive this equation from engineering aspect for further implementation on a manipulator. The symbolic dynamic model equation in equation (4) can be firstly derived using Lagrange equation or Newton– Euler method, which can be decomposed such that the dynamic model can be reformulated as a linear regression form. The dynamics equation can be written in linear expression with respect to its dynamic parameters as t ¼ H ðq ; q_ ; q€ Þp ð5Þ where vector p represents the dynamic parameter set, and the matrix H ðq ; q_ ; q€ Þ is always referred to as regression 4 International Journal of Advanced Robotic Systems matrix or regressor. For each link, its dynamic parameters consist of six components of the inertia tensor, three components of the first moment, mass, and the viscous and Coulomb friction coefficients. Instead of including every individual parameter, a base parameter set is preferable in model identification since some parameters have no influence on system dynamics and some can be regrouped in linear combinations of its original set. The base parameter set has a lower dimension than the original one. After analyzing the symbolic expression of robot’s dynamics, a well-conditioned trajectory is delicately designed for the actual robot to execute in order to excite robot’s dynamic characteristic. Given an observation of robot joint motion q and generalized joint forces/torques t for N samples at sampling time tk , the dynamic parameter vector p may be determined by least square regression as ^ ¼ arg min kH s p t s k p ð6Þ p 3 H ðq ðt 1 Þ; q_ ðt 1 Þ; q€ ðt 1 ÞÞÞ 7 6 .. 7 and t s ¼ where H s ¼ 6 . 5 4 H ðq ðtN Þ; q_ ðtN Þ; q€ ðtN ÞÞÞ 2 2 3 t ðt 1 Þ 6 . 7 6 . 7. 4 . 5 t ðtN Þ Since the stacked regression matrix H s is typically not full rank, the Moore–Penrose pseudoinverse is used to find ^ ¼ H þ t s , where superscript þ the estimation solution as q s denotes the pseudoinverse operation. Residual generation under model uncertainties In human–robot collaboration scenario where humans are close to the robot to perform cooperative tasks by sharing workspace, safety is the fundamental issue to be considered such that effective safe regulations must be utilized to ensure human safety in case of unexpected collisions. To address the collision detection issues for safe pHRI, several model-based approaches have been proposed based on residual signal using the difference between nominal and actual values such as torque, energy, and generalized momentum.2,13,15 These approaches have been devoted much attention to detect the unexpected physical collision between the manipulator and its environment, since only the proprioceptive sensors were used in the detection procedure. It is not only economical to keep the expenses low for external sensing, but also easy to implement by reducing the integration elements, leading to lower maintenance costs and potential failures. For this type of collision detection approach, a straightforward residual method can be computed as the difference between the estimated torque ^ and the actual torque t t ^ t r ¼t ð7Þ ^ results from the inverse dynamic model (4) with where t the estimated parameters and measured robot motion information. The estimated torque is stated as ^ ð^q ; ^q_Þ^q_ þ G ^ ð^q Þ þ t ^ ð^q Þ^q€ þ C ^ ¼M ^ f ð^q_Þ t ð8Þ where ð^Þ denotes the measured or estimated value. For rigid robot with perfect system modeling, accurate dynamic parameters, and well-measured robot motion variables, the residual in equation (7) equals the external torque t ext r ideal ¼ t ext ð9Þ However, the estimated torque value (8) contains modeling and measurement errors, and it yields r ¼ t ext þ dt ð10Þ where dt denotes the torque errors induced by uncertainties including model uncertainties dt mdl and measurement errors dt meas . Generally, model uncertainties dt mdl contain modeling errors due to incomplete or simplified expression of robot dynamics and dynamic parametric errors accounting for the inaccuracy of dynamic parameters such as link inertia and mass. Unfortunately, robot dynamic parameters are always confidential to be available from the robot manufactures even though they can be computed based on computer-aided design (CAD) model or by a well-designed parameter identification experiment, while such identification procedure is always complicated for implementation and the parametric accuracy remains to be verified. Moreover, the inverse dynamic model equation containing such dynamic parameters is too complex to be wildly used in the industrial applications as the computation complexity of inverse dynamic model challenges the limited robot controller capacity. Hence, a simplified model is preferred in the robot dynamic modeling with reduced expression by omitting the items having the irrelevant influence on the overall dynamic property while keeping fairly satisfied performance. Another source of the torque errors comes from the measurement. As only the position encoder is available in acquiring robot motion data for most industrial manipulators, thus joint velocity and its derivatives are often approximated using numerical differentiation, consequently amplifying the existing noise at position level. However, for a well-parameterized positioncontrolled robot running a commanded motor trajectory with smooth derivatives of higher order, q and its derivatives can be replaced with q d and its derivatives or numerically differentiated after a well-tuned low-pass filter to remove noise. It is clear that the torque errors dt specify the dependence on the acceleration (inertia uncertainty), speed (friction, centrifugal, and Coriolis uncertainty), and position (gravity uncertainty). Proposed collision detection scheme In order to formulate an effective model-based collision detection scheme without additional sensors, identification of dynamic parameter is the fundamental basis for the sensorless collision detection. A major difficulty of the classic dynamic parameter identification lies in the derivation of Cao et al. 5 the symbolic expression of robot dynamics and regrouping the linear form, which requires much effort and attention even with the assistance of commercial software for symbolic computation. In contrast to traditional method, an alternative to handle model identification is machine learning approach.36,37,39 This method offers a framework for automatically learning the complex dynamics without incorporating knowledge about the symbolic expression while still keeping a satisfactory performance for robot control and planning. In literature,39 a fast modeling and identification of robot dynamics was proposed based on Lasso40 and a simple example of a two-link direct-drive robot was demonstrated to show the effectiveness of this promising approach. Although this method can skip the analytical derivation and identify the candidate terms that act on robot dynamics by a regressor selection technique, the condition of this experiment is limited to a planar manipulator that has no gravity and friction effects, which is obviously not suitable for most robotic apparatus. In this section, an approach based on Lasso is presented to remedy the defect in39 to realize dynamic modeling and identification for a generic articulated manipulator so as for further collision detection scheme. Gravity identification Robot dynamic model identification, which has been intensively researched, is absolutely complex compared to the gravity and friction identification. Here, we will first examine the problem of gravity identification and design a method for accurate identification. The identification of gravity is only position-dependent and the gravity item can be expressed in the following linear parameterized form G ðq Þ ¼ H G p G ð11Þ where H G is the regression matrix of gravity after regrouping the gravity symbolic expression with respect to the base gravity parameters set p G . At the same time, it is not easy to extract the pure contribution of gravity from joint torque. Even if the robot is moving in a quasi-static state, the friction effect still plays an unignored role in robot dynamics. In order to obtain the contribution due to gravity effect, the following analysis is conducted by an in-depth study of robot dynamics. Assume two robot configurations q 1 , q 2 satisfy q1 ¼ q2 ¼ φ q_ 1 ¼ q_ 2 ¼ φ_ q€ 1 ¼ q€ 2 ¼ φ€ ð12Þ Then adding the resulting torques according to these two configurations yields _ φ_ þ G ðφÞ t 1 þ t 2 ¼ 2½M ðφÞφ€ þ C ðφ; φÞ ð13Þ _ < e (e is a small positive value), then If φ€ ¼ 0 and jφj the previous equation in equation (13) becomes t 1 þ t 2 2G ðφÞ ð14Þ Hence, the contrition due to gravity in joint torque can be derived if the above motion assumptions are satisfied by moving the robot to a certain position from the opposite direction at a low velocity with a constant value so as to eliminate other torque effects. To estimate the gravity parameters, we extracted the gravity effect from joint torque by gathering data from 100 different robot configurations and applied least squares method on equation (11). Friction identification For electromechanical systems including robot, friction effect plays a significant role in system modeling and control, which is usually difficult to predict especially when robot changes its motion direction. Many researchers have proposed different friction models and identification methods for robot control and simulation. 41–44 In this article, we only employ the basic Coulomb and viscous friction model due to its simple description which captures most characteristic of the friction phenomenon yet. Similar to the extraction of gravity effect from joint torque, the friction effect must be processed in order to identify the friction parameters. Suppose two robot motion states satisfy the condition in equation (12), then the difference of these according torques is _ t 1 t 2 ¼ 2t f ðφÞ ð15Þ It is intuitive to design a sinusoidal motion for joint i in the form of qi ðtÞ ¼ sinð 2p T tÞ (T is the cycle time) at joint space to meet the requirements of the above-mentioned motion states if two sampling time are chosen as t 1 ¼ kT =4 DT for q1 and t 2 ¼ kT =4 þ DT for q 2 with k ¼ 1; 3 and 0 < DT < T =4. By applying the designed trajectory for the robot to execute and subtracting the joint torques in the according motion states, the equivalent effect due to friction can be acquired based on the analysis in equation (15). The friction torque is characterized in Coulomb–viscous model and is identified in an axis-by-axis manner. The friction of the i th axis could be parameterized in a linear form F ci t f i ðq_ i Þ ¼ ½signðq_ i Þ q_ i F vi where F ci and F vi are the Coulomb and viscous parameters of the i th joint, respectively. Gathering several groups of the joint velocity and friction torque and applying the least squares method, the friction parameters could be experimentally calibrated. We gathered 50 pairs of torques at the corresponding motion states in which the absolute values of each component in equation (4) are equal despite of the sign of the friction items. 6 International Journal of Advanced Robotic Systems Remaining torque identification Since the gravity and friction items have been identified, thus these two components can be removed from robot joint torque for the remaining complex, nonlinear components model learning. Here, the sum of inertial torque M ðq Þ€ q _ _ and centrifugal and Coriolis torque C ðq ; q Þq is designated as t r . Using the linearity of the dynamic model, the remaining torque t r also keeps this linear property with respect to relevant dynamic parameter vector p r 2 Rk ðk 10nÞ in the following form t r ¼ H r ðq ; q_ ; q€ Þp r ð16Þ It is reasonable to consider the elements in regressor H r ðq ; q_ ; q€ Þ should be linear combinations of certain candidate terms defined by functions of joint position, velocity, and acceleration multiplied by sine and/or cosine value of q . Indeed, each element in H r can be calculated as H ijr ¼ r X ð17Þ dijk g k k¼1 where H ijr is element in the ith row and jth column of matrix H r . Candidate g k in equation (17) is chosen from A B, where denotes the Kronecker product, A ¼ ½€ q1 ; €q2 ; ; T € qn ; q_ 1 q_ 1 ; q_ 1 q_ 2 ; ; q_ n1 q_ n ; q_ n q_ n 2 R and B ¼ w ðq 1 Þ w ðq2 Þ w ðqn Þ 2 Rr ; w ðqi Þ ¼ ½1; sinqi ; cosqi ; sinð2qi Þ; cosð2qi Þ; ; sinðmqi Þ; cosðmqi ÞT ði ¼ 1; 2; ; nÞ, m is an positive integer and is set to be 2 (see Appendix 1). The dimension of A is ¼ ðn2 þ 3nÞ=2 and r ¼ ð2m þ 1Þn for B. dijk can be set to zero when the corresponding g k does not show in H ijr or alternatively an unknown nonzero value decided by robot’s structure. Therefore, according to the expression in equation (17), the remaining torque for joint i can be transformed into t ir ¼ k X j¼1 H ijr pjr ¼ r X gk p ~ ik r ð18Þ k¼1 Pk j ~ ik where p ~ ik r ¼ r j¼1 d ijk pr . Furthermore, by designating p i ~ r , which is the converted as the kth component of vector p dynamic parameter set for ith joint, g k as the kth compo~ r , the expression in equation (18) can be nent of vector H restated in a compact form as ~ rp ~r i t ir ¼ H ð19Þ ~ r no In the transformed expression (19), the regressor H longer contains the information specified by system mechanical structure, which otherwise has to be provided in equation (16) with cautious and tedious symbolic computation, making the dynamic parameter identification procedure more convenient. Compared to the original parameter set defined in equation (16), the converted para~ r mapping from p r is identified separately for meter set p each joint and has sparse feature due to the conversion, while the burden of symbolic computation is significantly ~ r in equareduced. It is worth noting that the regressor H tion (19) is equal for all joints and the size of parameter ~ ri is significantly larger than 10n, leading to more vector p computation time for the regression. However, the regression is done offline to select an adequate size of the parameters. Thus, the computation time for regression analysis is not a concern here. In order to identify the dynamic parameter while reducing the feature dimension to a certain degree by shrinking some coefficient estimates toward zero, a regressor selection method named Lasso is a privilege to employ.39 Lasso is a regression analysis method that incorporates the least squares method to minimize regression error and an l 1 penalty term to yield sparse model by forcing some coefficients to zero. Generally, Lasso has the advantage of effectively producing simpler and more interpretable models that involve only a subset of the predicator by introducing an l 1 regulation term to penalize large coefficients. Observing N groups of data and utilizing the Lasso method, the parameter identification problem for ith joint is formulated as i 2 H ~ r sp ~ r 1 ~ ri t ir s 2 þ lp ð20Þ min i ~r p 2 i 3 3 t r ðt 1 Þ ~ r ðq ðt 1 Þ; q_ ðt 1 Þ; q€ ðt 1 ÞÞ H 6 . 7 7 i 6 .. 7 7, t ¼ 6 ¼6 5 rs 4 4 .. 5, . ~ r ðq ðtN Þ; q_ ðtN Þ; q€ ðtN ÞÞ H t ir ðtN Þ 2 ~ rs where H and l > 0 is an adjustable tunning parameter. ~ ri has many It is sufficient to predict that the vector p zero elements which have to be forced into zero in the regression in equation (20). To this end, the choice of the tuning parameter l critically trades off the regression variance and sparsity which indicates how many variables are involved in the regression. For instance, the solution of equation (20) is exactly equal to the least squares regression when l ¼ 0, and when l increases to some extent, all coefficients estimated are substantially forced to approximate zero in order to regulate the penalty term. A simple way to tackle this problem is cross-validation which can properly maintain the balance of estimation variance and variable selection, which has been implemented in MATLAB Lasso function. For classic robot dynamic parameter identification, it is essentially significant to design a well-conditioned excitation trajectory in order to reduce estimation error.33 When it comes to machine learning method, it also requires a sufficiently large amount of data that can contain the necessary information for modeling as much as possible to improve estimation quality. However, designing a well-conditioned trajectory is not the focus of this article and a practical trajectory generation approach inspired by finite Fourier series trajectory33 is briefly introduced here. Cao et al. 7 The basic form of the excitation trajectory for the ith joint is as follows W k X ai bki sinð!b ktÞ cosð!b ktÞ þ qi0 qi ðtÞ ¼ !b k !b k k¼1 Residual/Nm k¼1 € qi ðtÞ ¼ aki ksinð!b ktÞ þ bki kcosð!b ktÞ 10 w/o collision with collision upper threshold 5 W X q_ i ðtÞ ¼ aki cosð!b ktÞ þ bki sinð!b ktÞ W X 15 0 -5 k¼1 ð21Þ where !b represents the fundamental frequency of the motion for all joints and W is the order of the harmonic of the sine and cosine functions. aki and bki are the parameters deciding the patterns of the trajectory which are determined through optimization. qi0 is an auxiliary parameter which guarantees the robot to recover to its initial configuration at the end of each period. In order to avoid a sudden change at the start and end of each period when calculating a continuous trajectory, boundary constraints are imposed on the start and end motion states of each period. Additionally, the exciting trajectory for each joint is bounded for demanded specifications. Given the above requirements, the problem of the excitation trajectory design for each period is formulated as min J aki ;bki s:t: qð0Þ ¼ qðtf Þ ¼ 0 _ _ fÞ ¼ 0 qð0Þ ¼ qðt € qð0Þ ¼ € qðtf Þ ¼ 0 qmin qðtÞ qmax _ q_ max q_ min qðtÞ €ðtÞ q €max €min q q ð22Þ where J is an optimization objective to be determined afterwards; qmax ; q_ max , and € qmax denote the upper physical limits of joint position, velocity, and acceleration, respectively, qmin as the corresponding lower limits with qmin ; q_ min , and € of relevant joint variables. Usually, the optimization objective can be selected as the condition number of the regression matrix in order to plan a well-conditioned trajectory for accurate parameter estimation. Instead of optimizing a complex nonlinear objective function, a practical optimization function which can generate the necessary information required in the regression is adopted as J¼ n X M X z k a k þ h b k 2 k i 2 i ð23Þ i¼1 k¼1 where both z k and hk are randomly generated between 1 and 1. This selection of optimization objective can not only simplify the symbolic derivation of the nonlinear function used in the study by Swevers et al.,33 but also -10 -15 120 lower threshold 121 122 123 124 125 126 127 128 129 Time/sec Figure 1. Residual signals for free motion (blue, solid line) and collision (red, dashed line) for joint 1. can include a variety of motion patterns for a good data fitting hereafter. Residual threshold design As the elaboration in previous section, the residual signal consists of two parts including the external torque effects indicating impacts and the unfavorable disturbances due to parametric uncertainties and model inaccuracies which corrupt the collision detection. It is observed that even under the free motion circumstance, the residual signal has the trajectory-dependent variation in which the peaks due to model uncertainties surprisingly larger than the peak produced by the collision, revealing a static threshold above the maximal residual amplitude is not suitable to obtain a good collision detection performance (see Figure 1). In order to overtake the inappropriate static threshold, the peak caused by collision may have to rise so excessively that collision may be critically harmful to some extent. A reliable and achievable alternative to distinguish the meaningful peaks caused by collision from false alarm peaks provoked by model uncertainties is to adopt a time-varying dynamic threshold. Instead of the method proposed in literature,17 the residual signal is considered as moderate when there is no collision; otherwise, further model refinement and identification has to be implemented to modify the residual. Thus, for a relatively accurate model identification, the residual can be bounded with a dynamic threshold dependent on trajectory. The inner structure of the residual is not modeled in detail but deemed to be a black box. When there is no collision, the dynamic threshold for each joint holds jri j < ridet ¼ ⌿ i u i þ ui ; i ¼ 1; ; n ð24Þ The threshold ridet is built on input u i composed of different functions of robot states. Taking the residual and 8 International Journal of Advanced Robotic Systems motion states into consideration, it is intuitive to choose the dependence of the residual on acceleration and speed by setting h i 2 T u i ¼ j€ qi j jq_ i j eri q_ i ð25Þ The last item in u i is to compensate for the uncertainty when robot changes its motion direction, and the corresponding parameter ri determines the slope of the peaks which is manually tuned for each link. Moreover, the threshold is characterized by a diagonal matrix ⌿ i ¼ diagð i1 ; i2 ; i3 Þ 2 R 33 which is subsequently determined by optimization. Additional parameter ui is added to ensure a certain safety margin, which guarantees the robust detection. In order to ascertain the related unknown parameters to construct a functional threshold, an optimization approach is proposed to compute these parameters. For compactness, we only present how the ith threshold for joint i is practicably designed by solving the following problem min a ⌿ i ;ui s:t: ð26Þ a ¼ ridet jri j a xi Figure 2. Experimental platform of Efort ER3A robot. CD ¼ 0 1 if else 8i : jri j < ridet Z4 Y3 Experiment setup The proposed collision detection scheme has been performed on Efort ER3A industrial robot in our lab (see Figure 2). The 6-DOF manipulator has a spherical wrist, 3 kg of payload capability, and maximal stretch of 0.63 m from the base. The link frames of the Efort ER3A robot are illustrated in Figure 3 and geometry information of the manipulator in modified Denavit and Hartenberg (MDH) representation is given in Table 1. The robot is powered with AC servo motors, which are connected with harmonic X3 TOOL Y4 a3 X6 X5 Z6 Y5 Z3 Z5 Y6 a2 Z1 Y1 X1 a1 X2 Y2 Z0 ð27Þ Experiment and validation X4 d4 where xi > 0. The definition in equation (26) can not only keep the threshold from the residual with a secure range larger than xi to insure detection robustness but also force the threshold to approximate the residual as close as possible to realize accurate detection of tiny external disturbances. The problem in equation (26) is convex and thus can be solved rapidly with an optimal solution. Here, we use the information of robot motion and residual value acquired from the previous training trajectory. Eventually, the binary detection output CD which denotes the occurrence of an external collision is computed according to the comparison between absolute value of residual signal and the proposed threshold Z2 Y0 X0 Figure 3. Link frames of Efort ER3A robot. Table 1. The MDH parameters of Efort ER3A. Link i 1 2 3 4 5 6 ai1 (rad) di (m) ai1 (rad) qi (rad) 0 p=2 0 p=2 p=2 p=2 0 0 0 0.299 0 0 0 0.050 0.270 0.08 0 0 0 p=2 0 0 0 0 MDH: modified Denavit and Hartenberg. Cao et al. 9 Controller system Target PC External sensors Teach pendant UDP TCP /IP N etwork switch EtherCAT master Industrial PC CPU : Intel Celeron M @ sdafdad 1.3GHz RTOS : VxWorks RAM : 512 M Hilscher CIFX 104CRE PC cards Digital servo system EtherCAT slave Servo driver 1 Motor 1 Servo driver 1 Motor 2 N etwork adapter Servo driver n TCP /IP Motor n Host PC Figure 4. Control framework of Efort ER3A robot. gears to increase the effective torque. The robot system uses an industrial computer equipped with 2G RAM and a Hilscher cifX bus communication card, running VxWorks RTOS to realize real-time control of the robot servo drivers. The communication card enables the EtherCAT communication between the servo drivers as the slave devices and the industrial computer as the master device, which allows sending motion or torque commands to control robot and receiving real-time robot’s information such as joint positions and currents at every 4 ms. Since the control architecture is open, the users can program the robot through a teach pendant or use the Cþþ language with a graphical user interface on a personal computer. Hence, with appropriate programming, the robot control system can implement motion control on both joint and Cartesian space and collect data from both proprioceptive sensors (e.g. motor position encoder and motor current sensor) and exteroceptive sensors (e.g. force/torque sensor, vision sensor). The overall overview of robotic control system is shown in Figure 4. The robot is position-controlled with a well-tuned proportional-derivative control law embedded in the servo drivers and only the first three joints are activated for simplicity throughout the article. The input provided to the controller is typically reference position q d at the joint level and the available output from the servo drivers including the joint positions q measured by motor-side encoders and the motor currents I. Meanwhile, the useful joint toque t can be obtained using the motor currents with the following transformation t ¼ K I ¼ diagðk 1 ; :::; k n ÞI ð28Þ where k i is the current-to-torque gain of the ith motor provided by the manufacturer as a constant. The acquired motor torque is, however, too noisy to be directly used in distinguishing the external torque as the random noise signal will annihilate the torque transient caused by collision. On the other hand, the high-frequency noise can be greatly reduced using an appropriate low-pass filter, and a smooth torque is retained while an effective filtering can prevent the effect of hard collisions from overly filtering and avoid corrupting the sensitivity of the collision detection scheme in principle. It is worth noting that the implementation of suitable filtering of the torque requires that the main frequency distribution of external impact torque is within the filter cutoff frequency and the filter has a stable structure and no accumulated filtering errors in digital implementation. In order to solve this problem in filer design, a scheme of distinguishing between intended contact and unexpected collision is introduced in the study by Cho et al.18 The lowpass filter HðzÞ was finally chosen as HðzÞ ¼ 5 X hðiÞzi ð29Þ i¼0 with h0 ¼ h5 ¼ 0:1118, h1 ¼ h4 ¼ 0:1677, and h2 ¼ h3 ¼ 0:2205, which represent a fifth-order finite impulse response low-pass using a cutoff frequency of 10 Hz and a Kaiser window. The cutoff frequency was selected to remove the noise signal as much as possible while preserve the meaningful torque data. At the same time, the order of the filter was limited to 5 to reduce the resulting time delay. Dynamics identification and residual threshold design In the case of the Efort Ertext 3A robot, gravity effect only presents at the second and third joints and the base gravity parameters can be parameterized with four grouped expressions of mass and center mass. Based on the analysis in the gravity and friction identification, the identification procedure was conducted on the industrial robot sequentially. The corresponding parameters of the first three joints are summarized in Table 2. In our experiment of training trajectory generation, some basic parameters were designed with W ¼ 5, fundamental frequency !b ¼ 2p=5. The physical bounds on joint position, velocity, and acceleration are given in Table 3. According to the training trajectory generation scheme based on the optimization problem in equation (22), we finally produced a trajectory composed of 50 periods of motion data which is continuous at the beginning and end of the individual trajectory for training the remaining torque. Figure 5 shows part of joint position, velocity, and 10 International Journal of Advanced Robotic Systems Table 2. Dynamic parameters of gravity and friction effects. Value kg m kg m kg m kg m Nm s/rad Nm Nm s/rad Nm Nm s/rad Nm 0.6595 0.2278 0.2139 0.8865 6.2073 3.1127 7.0136 5.2570 4.0979 4.5163 (a) 5 0 -5 -10 -15 120 (b) 122 124 126 128 130 132 134 136 138 140 122 124 126 128 130 132 134 136 138 140 122 124 126 128 130 132 134 136 138 140 30 20 Table 3. Motion constraints for training trajectories. Joint measured torque estimated torque 15 10 τ1 /Nm m 3 l 3y m 3 l 3x m 2 l 2y m 2 l 2x þ m 3 a 2 F v1 F c1 F v2 F c2 F v3 F c3 Unit τ2 /Nm Parameters 1 2 3 +90 60 90 +60 60 90 +60 60 90 10 0 -10 -20 Position range ( ) Maximum velocity ( /s) Maximum acceleration ( /s2) 120 (c) 20 15 Joint position/deg (a) Joint 1 Joint 2 Joint 3 40 0 -10 120 0 Time/sec -20 122 124 126 128 130 132 134 136 138 140 (b) 60 Joint velocity/(deg/s) 5 -5 20 -40 120 40 20 0 -20 -40 120 122 124 126 128 122 124 126 128 130 132 134 136 138 140 130 132 134 136 138 140 (c) Joint acceleration/(deg/s2 ) τ3 /Nm 10 50 0 -50 120 Time/sec Figure 5. Reference trajectories for training. (a) Joint position. (b) Joint velocity. (c) Joint acceleration. acceleration of the training trajectory. Consequently, the demanded motion was executed by the robot to acquire the relevant joint information including actual joint position Figure 6. Actual joint torque and estimated torque based on the proposed method for trajectories in Figure 5. and torque. For joint actual position, a low-pass, zero phase filter and a central difference algorithm were used to calculate joint velocity and acceleration. Meanwhile, the joint torque effect due to gravity and friction was removed to obtain the remaining torque t r for further data process. Once the income and outcome given in equation (20) are available, the Lasso algorithm automatically computes the parameter estimation with variable selection using the package provided by MATLAB. In the context of a three joint articulated manipulator, because the robot’s motion is centrosymmetric with respect to joint 1, w ðq 1 Þ can be excluded from set B. Hence, B has a reduced number of candidates to 25, while A has the ~ r is dimension of 9; the total number of elements in H calculated as 225, leading to the dimension of the converted ~ ir shares the same dimension value dynamic parameter set p which is larger than the dimension of p r . The regularization progressively strengthens as the value of l increases, resulting in fewer nonzero regression coefficients and generally larger cross-validated mean square error suggesting inadequate fit of the responses. However, the parameter l was automatically selected with the optimal value provided by Lasso function. Practically, for coefficient p ~ ik r which is less than 0.2, this coefficient is Cao et al. 11 (a) with collision w/o collision threshold 12 |r1 |/Nm 10 8 6 4 2 0 120 |r2 |/Nm (b) |r3 |/Nm 124 126 128 130 132 134 136 138 140 122 124 126 128 130 132 134 136 138 140 122 124 126 128 130 132 134 136 138 140 15 10 5 0 120 (c) 122 15 10 5 0 120 Time/sec Figure 7. Residual signals for free motion (blue, solid line), collision (red, dashed line), and threshold (green, dashed line) for training trajectory in Figure 5. regarded as having negligible influence on the entire dynamics and always discarded in recovering the remaining torque. For a group of l value, the cross-validation error for each value of l is automatically computed. At the same time, the relevant coefficient estimates could also be obtained for corresponding l value. With the trace plot of coefficients and cross-validated mean square error plot of Lasso fit, one could visually observe the difference of l selection making on the coefficient dimension reduction ~ r i are and estimation error. If the zero components in p selected more, that is, higher value of l parameter in the Lasso algorithm is preferred, then the threshold margin x i may be manually set more conservative. In our implementation, we chose the l which reduces the dimension of the coefficients larger than 0.2 to 10 and keeps the estimation error satisfactory as well. Eventually, the recovered robot inverse dynamics composed of the abovementioned three parts and the actual toque is illustrated in Figure 6 corresponding to the motion in Figure 5. Figure 6 compares the measured and predicted torques, revealing the inverse dynamics can be reconstructed given the demanded motion. It is worth noting that the predicted torque roughly fits the actual torque well expect some derivation and there exists slight torque variation during the motion because a simplified dynamics identification process is adopted in this article. Meanwhile, the absolute Table 4. Parameters of the proposed dynamic threshold. Joint i i1 i2 i3 ui xi ri 1 2 3 0.1433 0.2295 5.1588 3.4021 2.0000 150 0.335 0.7350 5.5866 5.6258 2.0000 200 0.7733 1.3615 9.1100 3.6457 2.0000 150 residual value under free motion in Figure 5 can be calculated once the inverse dynamics is available, and the torque residual for each joint is depicted in Figure 7. It is observed that the residual signal fluctuates near zero except an abrupt peak arises when velocity changes its sign, which implies the reliability and practicality of the proposed dynamics identification. The abrupt peak arises when velocity changes its direction since it is difficult to accurately model the friction in low-velocity range. When velocity traverses the low-velocity regime, several phenomena like Stribeck effect, predisplacement, rate dependence, and hysteresis will significantly dominate the dynamics of friction. To address these dynamic behaviors in low-velocity regime, several friction models incorporating more coefficients and complicated structure were proposed such as LuGre model, Maxwell-slip model, and 12 International Journal of Advanced Robotic Systems (a) with collision w/o collision threshold |r1 |/Nm 10 5 0 10 11 12 13 14 15 16 17 18 19 20 11 12 13 14 15 16 17 18 19 20 11 12 13 14 15 16 17 18 19 20 (b) 20 |r2 |/Nm 15 10 5 0 10 (c) 20 |r3 |/Nm 15 10 5 0 10 Time/sec Figure 8. Residual signals for free motion (blue, solid line), collision (red, dashed line), and threshold (green, dashed) for validation trajectory. Leuven model. These models could to some extent illustrate the property of friction dynamics in low velocity, but the identification procedure is not trivial and the accuracy cannot be guaranteed. Indeed, the Coulomb–viscous model is still the most popular one in constructing the friction in robotics due to its linearity in parameters and satisfactory description of friction dynamics in most velocity regime. In addition, collisions were imposed by operator on the manipulator when it executed the same trajectory and corresponding residual signals were computed as presented in Figure 7. In contrast to collision-free scenario, the peaks due to collisions have the influence on the residual as the model uncertainties do. Hence, the torque errors induced by the dynamics uncertainties including unmodeled dynamics and estimation bias will cause adverse effects on accurate collision detection, and this is tackled by employing the dynamic threshold. The parameters for threshold is given in Table 4, and the corresponding reconstructed threshold is compared with the torque residual, as shown in Figure 7, illustrating the acquired threshold can bound the residual signal to ensure the detection mechanism not be activated by false alarms due to measurement errors and dynamic model uncertainties as well as small enough to allow fast detection of collision. The effectiveness of the proposed threshold was validated for a different trajectory as detailed in the following section. Validation The proposed scheme for sensorless robot collision detection was experimentally validated on the industrial robot ER3A performing a continuous cyclic motion task with a triangle curve in Cartesian space. The triangle motion in Cartesian space is with the maximal velocity of 0.2 m/s and trajectories in the joint space are calculated using the inverse kinematics. Figure 8 shows the residual signal for each joint under different collision conditions. For example, a collision near 10 and 14 s is relatively moderate and these joint peaks may not be detected if static threshold was adopted. Thanks to the proposed dynamic threshold, the tiny torque peaks resulting from collision could be sensitively identified. For example, a collision occurred near 14 s and the effective torque caused by collision at joint 1 is smaller than the maximal dynamics error induced by model uncertainties. The dynamic residual threshold can also effectively recognize the source of the torque peaks. For the collision at t ¼ Cao et al. 18 s, the peaks in residual signals were recognized at all joints, suggesting the unexpected collision with slight impact occurred at the body before the third joint. The effective external torque at joint level satisfies t ¼ J Tc F ext , where F ext is the Cartesian contact force and J c ðq Þ is the Jacobian matrix at the collision point. When the external force F ext belongs to the kernel of J Tc ðq Þ, the external force will be badly reflected at the joint level. The collision peak at t ¼ 14 s is only detected at the first joint, while the slight peak at the second joint could not be sensed. This may be owing to that the matrix J Tc ðq Þ is illconditioned at that configuration. Generally speaking, the collision detection scheme could locate the probable collision position, which may be utilized for further collision reaction scheme. In our article, a simple collision reaction was adopted by stopping the manipulator for 1 s to prevent harm to operators as soon as the collision was detected. Conclusion In this article, a current-based whole body collision detection is presented on a conventional industrial manipulator based on a quick dynamic model identification using Lasso and a residual evaluation method to overcome the dynamic model uncertainties. The presented method uses only proprioceptive sensors providing motor-side information without additional exteroceptive sensors. The collision effect is diagnosed as system fault through comparison between the actual torques related to the internal motor currents and the reconstructed torque from the joint position and its derivatives. In this framework, a sequential identification of dynamic parameters is introduced where the major components of the dynamics (i.e. gravity and friction) in pHRI scenario are identified in the first step and the remaining torque is formulated with a simplified model. On the basis of this model, Lasso algorithm is adopted to predict the relevant parameters along with parameter selection in order to capture the characteristic of the remaining torque. The residual signal which is defined as the difference of the actual and predicted torque is used to recognize whether the external impact is imposed on the robot. To tackle the irregular peaks due to dynamic uncertainties, dynamic threshold is imposed on the residual which ensures the sensitivity of the detection scheme as well as the robustness to false alarm caused by system errors. The method has been implemented on a conventional industrial robot ER3A with EtherCAT protocol for realtime data communication. Instead of the classic parameter identification with complicated symbolic derivation and heavy computation burden for real-time control, the proposed method can fast and effectively reconstruct the inverse dynamic model. Consequently, the residual signal for collision detection is generated through the simplified model, and threshold is conceived to remedy the peaks due to system uncertainties. Compared with a static threshold, 13 the dynamic threshold reduces the collision torque sensitivity from 10 Nm to 5 Nm while maintaining the robustness. Although the joint sensitivity does not share linear relationship with respect to the impact sensitivity in the Cartesian space, the impact can even be impossibly sensed if the impact force belongs to transposed Jacobian matrix kernel space. However, the robot always holds favorable configurations when robot shares workspace when collaborating with humans; external impact is reflected on the joint space with high fidelity which guarantees the detection of collisions occurs on the whole body of the robot. In our experiment, the collisions can be detected with the sensitivity less than 5 Nm in joint space with a short time delay less than 50 ms. Despite a fast and simplified model identification, a dynamic threshold for residual signal is proposed to achieve a satisfactory whole body collision detection on an industrial manipulator; our future plan is to evaluate the sensitivity of forces in Cartesian space of the collision classification using a 6D F/T sensor. Additionally, the presented idea in recovering dynamics and residual threshold generation can be brought into the external force estimation at the end effector so as to realize a low-cost virtual force sensor which benefits the force-control scenario like assembly and human–robot cooperation. Further investigation directions in the collision detection also include collision detection scheme of a robot with payload fixed at the end effector and how the factors like speed and stiffness affect the accuracy of the collision and corresponding strategies. Declaration of conflicting interests The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article. Funding The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was supported in part by Natural Science Foundation of China under Grant Numbers 61873308, 61503076, and 61175113 and Natural Science Foundation of Jiangsu Province under Grant Number BK20150624. ORCID iD Pengfei Cao https://orcid.org/0000-0003-4642-1102 References 1. Ficuciello F, Romano A, Villani L, et al. Cartesian impedance control of redundant manipulators for human-robot co-manipulation. In: 2014 IEEE/RSJ international conference on intelligent robots and systems (IROS 2014), Chicago, IL, USA, 14–18 September 2014, pp. 2120–2125. IEEE. 2. Geravand M, Flacco F, and De Luca A. Human-robot physical interaction and collaboration using an industrial 14 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. International Journal of Advanced Robotic Systems robot with a closed control architecture. In: 2013 IEEE international conference on robotics and automation (ICRA), Karlsruhe, Germany, 6–10 May 2013, pp. 4000–4007. IEEE. Heinzmann J and Zelinsky A. Quantitative safety guarantees for physical human-robot interaction. Int J Robot Res 2003; 22(7): 479–504. Haddadin S, Albu-Schäffer A, and Hirzinger G. Safe physical human-robot interaction: measurements, analysis and new insights. Robotics Research Berlin: Springer, 2010. pp. 395–407. Zanchettin AM, Ceriani NM, Rocco P, et al. Safety in humanrobot collaborative manufacturing environments: metrics and control. IEEE Trans Autom Sci Eng 2016; 13(2): 882–893. Robots and robotic devices Safety requirements for industrial robots Part 1: Robots. Standard, International Organization for Standardization. Geneva: International Organization for Standardization (ISO), 2011. Safety of machinery – safety-related parts of control systems – part 1: General principles for design. Standard, International Organization for Standardization. Geneva: International Organization for Standardization (ISO), 2015. Robots and robotic devices – Collaborative robots. Standard, International Organization for Standardization. Geneva: International Organization for Standardization (ISO), 2016. Schlegl T, Kröger T, Gaschler A, et al. Virtual whiskers highly responsive robot collision avoidance. In: 2013 IEEE/RSJ international conference on intelligent robots and systems (IROS), Tokyo, Japan, 3-7 November 2013, pp. 5373–5379. IEEE. Flacco F, Kröger T, De Luca A, et al. A depth space approach to human-robot collision avoidance. In: 2012 IEEE international conference on robotics and automation (ICRA), Saint Paul, MN, USA, 14–18 May 2012, pp. 338–345. IEEE. De Luca A and Flacco F. Integrated control for pHRI: collision avoidance, detection, reaction and collaboration. In: 2012 4th IEEE RAS & EMBS international conference on biomedical robotics and biomechatronics (BioRob), Rome, Italy, 24–27 June 2012, pp. 288–295. IEEE. Ceriani NM, Zanchettin AM, Rocco P, et al. A constraintbased strategy for task-consistent safe human-robot interaction. In: 2013 IEEE/RSJ international conference on intelligent robots and systems (IROS), Tokyo, Japan, 3–7 November 2013, pp. 4630–4635. IEEE. De Luca A, Albu-Schaffer A, Haddadin S, et al. Collision detection and safe reaction with the DLR-iii lightweight manipulator arm. In: 2006 IEEE/RSJ international conference on intelligent robots and systems, Beijing, China, 9– 15 October 2006, pp. 1623–1630. IEEE. Wahrburg A, Zeiss S, Matthias B, et al. Contact force estimation for robotic assembly using motor torques. In: 2014 IEEE international conference on automation science and engineering (CASE), Taipei, Taiwan, 18–22 August 2014, pp. 1252–1257. IEEE. De Luca A and Mattone R. Actuator failure detection and isolation using generalized momenta. In: Proceedings. ICRA’03. IEEE international conference on robotics and 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. automation, Taipei, Taiwan, 14–19 September 2003, vol. 1, pp. 634–639. IEEE. Likar N and Žlajpah L. External joint torque-based estimation of contact information. Int J Adv Robot Syst 2014; 11(7): 107. Makarov M, Caldas A, Grossard M, et al. Adaptive filtering for robust proprioceptive robot impact detection under model uncertainties. IEEE/ASME Trans Mech 2014; 19(6): 1917–1928. Cho CN, Kim JH, Kim YL, et al. Collision detection algorithm to distinguish between intended contact and unexpected collision. Adv Robot 2012; 26(16): 1825–1840. Ragaglia M, Zanchettin AM, Bascetta L, et al. Accurate sensorless lead-through programming for lightweight robots in structured environments. Robot Cim Int Manuf 2016; 39: 9–21. Stolt A, Linderoth M, Robertsson A, et al. Force controlled robotic assembly without a force sensor. In: 2012 IEEE international conference on robotics and automation (ICRA), Saint Paul, MN, USA, 14–18 May 2012, pp. 1538–1543. IEEE. Haddadin S, Albu-Schäffer A, and Hirzinger G. Safety evaluation of physical human-robot interaction via crash-testing. In: Robotics: Science and Systems, Atlanta, GA, USA, 27–30 June 2007, vol. 3. pp. 217–224. Albu-Schaffer A, Eiberger O, Grebenstein M, et al. Soft robotics. IEEE Robot Autom Mag 2008; 15(3). Albu-Schäffer A, Haddadin S, Ott C, et al. The DLR lightweight robot: design and control concepts for robots in human environments. Int J Intell Robot Appl 2007; 34(5): 376–385. Zinn M, Roth B, Khatib O, et al. A new actuation approach for human friendly robot design. Int J Robot Res 2004; 23(45): 379–398. Pratt GA and Williamson MM. Series elastic actuators. In: Proceedings. 1995 IEEE/RSJ International Conference on Intelligent Robots and Systems 95.’Human Robot Interaction and Cooperative Robots’, Pittsburgh, PA, USA, 5–9 August 1995, vol. 1, pp. 399–406. IEEE. Vanderborght B, Albu-Schäffer A, Bicchi A, et al. Variable impedance actuators: a review. Robot Auton Syst 2013; 61(12): 1601–1614. Je HW, Baek JY, and Lee MC. Current based compliance control method for minimizing an impact force at collision of service robot arm. Int J Precis Eng Man 2011; 12(2): 251–258. Magrini E, Flacco F, and De Luca A. Estimation of contact forces using a virtual force sensor. In: 2014 IEEE/RSJ international conference on intelligent robots and systems (IROS 2014), Chicago, IL, USA, 14–18 September 2014, pp. 2126–2133. IEEE. Chen WH, Ballance DJ, Gawthrop PJ, et al. A nonlinear disturbance observer for robotic manipulators. IEEE Trans Ind Electron 2000; 47(4): 932–938. Mohammadi A, Tavakoli M, Marquez H, et al. Nonlinear disturbance observer design for robotic manipulators. Control Eng Pract 2013; 21(3): 253–267. Li Z, Su CY, Wang L, et al. Nonlinear disturbance observerbased control design for a robotic exoskeleton incorporating Cao et al. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 15 fuzzy approximation. IEEE Trans Ind Electron 2015; 62(9): 5763–5775. Khalil W and Bennis F. Symbolic calculation of the base inertial parameters of closed-loop robots. Int J Robot Res 1995; 14(2): 112–128. Swevers J, Ganseman C, Tukel DB, et al. Optimal robot excitation and identification. IEEE Trans Robotic Autom 1997; 13(5): 730–740. Sousa CD and Cortesão R. Physical feasibility of robot base inertial parameter identification: a linear matrix inequality approach. Int J Robot Res 2014; 33(6): 931–944. Janot A, Vandanjon PO, and Gautier M. A generic instrumental variable approach for industrial robot identification. IEEE Trans Contr Syst T 2014; 22(1): 132–145. Calandra R, Ivaldi S, Deisenroth MP, et al. Learning inverse dynamics models with contacts. In: IEEE international conference on robotics and automation (ICRA), 2015, pp. 3186–3191. IEEE. Nguyen-Tuong D and Peters J. Model learning for robot control: a survey. Cogn Process 2011; 12(4): 319–340. Nguyen-Tuong D and Peters J. Using model knowledge for learning inverse dynamics. In: 2010 IEEE international conference on robotics and automation (ICRA), Anchorage, AK, USA, 3–7 May 2010, pp. 2677–2682. IEEE. Wang C, Yu X, and Tomizuka M. Fast modeling and identification of robot dynamics using the Lasso. In: Proceedings of the 2013 ASME dynamic systems and control conference, Palo Alto, CA, USA, 21–23 October 2013. Tibshirani R. Regression shrinkage and selection via the Lasso: a retrospective. J R Stat Soc Series B Stat Methodol 2011; 73(3): 273–282. Popovic MR and Goldenberg AA. Modeling of friction using spectral analysis. IEEE Trans Robotic Autom 1998; 14(1): 114–122. Garcia E, Gonzalez de Santos P, and Canudas de Wit C. Velocity dependence in the cyclic friction arising with gears. Int J Robot Res 2002; 21(9): 761–771. Wang G, Li Y, and Bi D. Support vector machine networks for friction modeling. IEEE/ASME Trans Mech 2004; 9(3): 601–606. Ruderman M and Iwasaki M. Observer of nonlinear friction dynamics for motion control. IEEE Trans Ind Electron 2015; 62(9): 5941–5949. Appendix 1 Derive the robot dynamics equation using Lagrangian method, the kinetic energy T i and potential energy U i for robot i th link could be expressed as 1 1 T i ¼ mi v Tci v ci þ v Ti 0 R i I ci 0 R Ti vi 2 2 U i ¼ mi gT 0 rci ð1AÞ ð1BÞ where mi is the i th link mass, I ci is the link inertia tensor expressed in i th link frame, vci is linear velocity of the link mass center, and v i is angular velocity of the link; both velocities are expressed in the base frame f0g. 0 R i is the rotation matrix from link i frame to the base frame and 0 r ci is the position of the center of mass of link i with respect to base frame. g is the gravity acceleration vector in the base frame. Based on homogeneous transformation, the position of the center of mass of i th link 0 r ci could be written as function of q i 0 r ci r ci 1 0 i1 ð1CÞ ¼ A 1 ðq1 Þ A 2 ðq 2 Þ A i ðqi Þ 1 1 where s1 A s is the transformation matrix between frame fsg and fs 1g (1 s i) and i r ci is the center of mass with respect to the link frame {i} and a constant value. Thus, there will be cosðqs Þ and sinðqs Þ in the symbolic expression of 0 r ci rather than cosð2qs Þ and sinð2qs Þ, as well as the Jacobian of 0 r ci . It is necessary to express the kinetic energy as a function of joint variables with the Jacobian computation 1 1 T i ¼ mi q_ T J TLi J Li q_ þ q_ T J TAi 0 R i I ci 0 R Ti J Ai q_ 2 2 ð1DÞ where JLi and JAi are linear and angular velocity Jacobian matrix, respectively. Obviously, it is rather cosðqs Þ, sinðqs Þ than cosð2qs Þ, sinð2qs Þ (1 s i) that are included in these two Jacobian matrix. The total kinetic energy of the robot is T ¼ n X i¼1 Ti¼ n X n 1X 1 bij ðqÞq_ i q_ j ¼ q_ T B ðq Þ 2 i¼1 j¼1 2 ð1EÞ P where B ðq Þ ¼ ni¼1 ðmi J TLi J Li þ J TAi 0 R i I ci 0 R Ti J Ai Þ. It should be noted that the total kinetic energy T is quadratic to JLi and JAi ; hence, it will include cosð2qi Þ and sinð2qi Þ. To this point, the Lagrangian Lðq ; q_ Þ for the manipulator and generalized forces r performing work on joint coordinates are Lðq ; q_ Þ ¼ T ðq ; q_ Þ Uðq Þ ð1FÞ d @L @L ¼r dt @ q_ @q ð1GÞ Combining equations (1E) to (1G) yields n n X n X X @bij 1 @bjk @U bij ðqÞ€qi þ ¼ ri : q_ k q_ j þ 2 @q @q @q k i i j¼1 j¼1 k¼1 ð1HÞ Usually, the generalized force r is written in the following form M ðq Þq_ þ C ðq ; q_ Þq_ þ G ðq Þ ¼ r ð1IÞ Finally, it could be concluded that the elements in M ðq Þ and C ðq ; q_ Þ contain cosðqi Þ; sinðqi Þ; cosð2qi Þ and sinð2qi Þ; no more high order of cosðmqi Þ; sinðmqi Þ (m is a positive integer) will be included. Thus, m ¼ 2.