Modelling the human-robot impact Peter URŠIČ, Borut POVŠE, Borut ZUPANČIČ, Tadej BAJD Abstract: The study presented in the paper is focused on cooperation of a small industrial robot and a human worker, which leads to a better industrial performance. The complex assembly is an example of such cooperation. Despite all the safety features that can be integrated in a robotic cell, such as sensors and machine vision, the collision between the human and the robot cannot always be avoided. With a purpose to study the safe human-robot interaction, a passive mechanical lower arm has been developed, on which impact experiments were performed. Impact experiments with human volunteers were carried out afterwards. Mathematical models of the collision, consisting of the systems of algebraic and differential equations, for both types of the experiments were formulated and simulated. Simulating the impact models enables much easier and faster experimentation, which cannot be achieved with passive mechanical lower arm or human volunteers. The impact models will be used in the future study of the human-robot impact in the 3D virtual environment, in which collisions not safe for experimenting with real humans will be performed. Keywords: human-robot impact, impact model, computer simulation, human-robot cooperation ■ 1 Introduction In conventional industrial applications, robots are performing tasks involving monotonous operations, known as low level tasks and are isolated from human operators executing high level tasks. We expect that shared and cooperative work between a human and a robot in a coexistence environment will give us much higher degrees of system performance, since many industrial tasks involve both kinds of operations. In the future, robots will be working with humans not only in industrial environment but also in the areas of service robotics. In realization of human-robot coexistence, human safety is indispensable. Peter Uršic, univ. dipl. mat., University of Ljubljana, Faculty of Electrical Engineering, Ljubljana, Slovenia; Borut Povše, univ. dipl. inž., Dax Electronic Systems Company, Trbovlje, Slovenia; Prof. dr. Borut Zupančič, univ. dipl. inž., University of Ljubljana, Faculty of Electrical Engineering, Ljubljana, Slovenia; Prof. dr. Tadej Bajd, univ. dipl. inž., University of Ljubljana, Faculty of Electrical Engineering, Ljubljana, Slovenia A wide variety of safety features can be integrated in robotic cells, ranging from visual observation of the area around the robot, to collision avoidance algorithms implemented in the robot control [1, 2]. But whenever a combination of highly technical equipment and software is included, there is always a risk of failure, which can result in injury of the affected operator. On the other hand, no detection system exists that can guarantee collision avoidance with sufficient reliability without imposing strong restrictions on the speed of motion of the robot. Therefore, it is necessary to study the human-robot impact. Some real experiments, modelling and simulation experiments have been done regarding human-robot impact with industrial and nonindu-strial robots. One of the specific situations for the use of robots in nonindu-strial areas is coexisting with elderly people and helping them in their living or working environments. Hun-ok Lim presented a human-frendly robot with an elastic material-covered manipulator [3]. Besides impact experiments, a mathematical model of collision has been developed using Euler-Lagrange equations, to study safe human-robot interaction. Yamada [4] developed a mathematical model of human-robot collision in which a human body was modelled with a simple semi-elipsoid shape. The robot applied in this study was the SSR-H604DN manufactured by the Seiko-Epson Corp. which was covered with viscoelastic material for increased human safety. An equation of impact force was derived considering viscoelastic properties of the robot covering. The impact tests with industrial robots were to our knowledge mainly investigated by DLR-German Aerospace Center. Head and chest impacts were studied with car crash-test dummies from automotive industry, using LWRIII, KUKA KR3-SI, KUKA-KR6 and KUKA KR500 industrial robots [5, 6, 7]. With the models of crash-test dummies and model of KUKA KR150, robot-human impact simulations were carried out [8]. Simulations were focused on head impacts of the dummy with the robot. Two different mathematical approaches were dealt with. These are the Finite Element Methods which were solved using LS-DYNA simulation tool (Livermore Software Technology Corporation) and Mul-tibody Dynamics which were simulated using ADAMS (MSC.Software Inc.) and LifeMOD (Biomechanics Research Group, Inc.). Simulation results were analysed with the head injury criteria (HIC), commonly used in automotive industry, to show its applicability to robotics. In our research we are focused on cooperation of a small industrial robot and a human worker. The assumption was made, that their workspaces intersect in such a way, that human-robot impacts are only possible with the worker's lower arm and manipulator's end-effector. Therefore, no life-threatening injuries can occur. In the worst case, fractures of worker's lower arm can result from the collision, if the arm is clamped. Only damage to the skin and muscle tissue is possible, when the movement of the arm during the imapct is not hindered. The robot used in the study was a small Epson six axis robot. A passive mechanical lower arm (PMLA) was developed, with which preliminary impact experiments were carried out [9]. The impact experiments with human volunteers were carried out afterwards. Mathematical models of impact for both types of experiments were developed and simulated. Modern multi-domain and object oriented modelling tools recently developed gave us a strong support not only in simulation phase but also in the phase of mathematical modelling. The goal of our study is to explore some impact scenarios which can occur during the described humanrobot cooperation. The impact models will be used in the future study of human-robot collision in the 3D virtual environment, in which the user will be cooperating with a virtual robot in the task of a complex assembly. In this way, simple and quick impact experiments will be carried out, during which high impact forces will be present, not safe for real experimentation with humans. ■ 2 Experiments PMLA was developed with a purpose to imitate real human arm characteristics. For human safety, impacts of robot end-effector with PMLA were investigated, before impact tests with human subjects were carried out. The results of the experiments were used for the modeling of the collision and for the validation of the models. 2.1 Experiments with passive mechanical lower arm The PMLA device (Figure 7) consists of a vertical base pillar made from aluminium, to which the arm structure is attached through passively adjustable shoulder joint. The arm structure consists of upper and lower arm. The upper arm is emulated with an aluminium profile, while the lower arm's aluminium bar holds a prosthetic arm, which emulates human tissue. It has about the same weight as the real human lower arm and about the same elastic properties as relaxed human muscles. The prosthetic arm is covered with silicon esthetic glove, which represents human skin. The connection between lower and upper arm is made with a rotational elbow joint. The torque in the joint emulates a stretched human biceps muscle, which compensates for the gravity, keeping the lower arm in steady position before the impact. A pneumatic cylinder, emulating elbow viscoela-stic properties, is also placed between the lower and upper arm. The only possible movement of PMLA during the impact experiment is the rotation of the lower arm around the elbow rotary unit. The measuring system used in the experiments consisted of a three-axis accelerometer ADXL203 and three gyroscopes ADXRS150 (Analog Devices, Inc.) [10], three-axis force sensor (JR3, Inc.) and the optical kinematic mea-surment system Optotrak Certus (Northern Digital, Inc.). The accelerometer and gyroscopes were placed on the lower arm's supporting aluminium profile. The force sensor was installed between the robot's sixth joint and the end-effector. Accelerations, velocities and forces during the imapct were logged by a real-time xPC target computer, while the motion of the arm and the robot was observed with two Optotrak position sensors using the infrared markers attached to both objects. In the impact experiments different robot end-effectors were used, representing different tools that are being used by the industrial robots. End-effector's shapes for point, line and plane impacts were used. In our further study of impact modeling we are focused only on line impacts. Several experiments were carried out with PMLA. The arm's initial position was always precisely the same. Every experiment started with the robot end-effector moving towards the arm along a straight line. Collision occu-red under 90 degrees angle and at the point positioned 11 centimeters from the wrist on the dorsal aspect of the lower arm. The robot end-effector was programmed to stop at the point located inside the PMLA and at constant deceleration. The depth of the stopping point under the arm surface was changed from 5 mm to 30 mm with 5 mm steps and robot's deceleration was incrementally changed from 1 m/s2 to 5 m/s2. Figure 1. PMLA and six axis robot 2.2 Experiments with human volunteers The measuring system used in the experiments with human volunteers was the same as in the experiments with PMLA. The accelerometer and three gyroscopes were attached to the ventral aspect of the human lower arm, the three-axis force sensor was placed between the robot's sixth joint and the end-effector. For the measur-ment of the movement of the arm and the robot end-effector, infrared markers were attached to the robot end-effector and dorsal aspect of human lower arm. The optical measurment system Optotrak Certus was assessing the position of the markers using two position sensors. The experiments were done with 5 human volunteers. The shapes of the robot end-effector for plane and line impacts were used. The end-effector for the point impact was left out of the experiments, as the point impacts were found dangerous in the view of skin and muscle tissue injury [9]. For increased safety, the robot crash protector was installed between the end-effector and robot's sixth joint, which eases the collision, if the impact force exceeds the predetermined value. Only line impact is taken in consideration in the further study of impact modeling. Several experiments were done with every volunteer. The initial position of the human arm was the same in each experiment. This was achieved with the use of the structure consisted of two metal wires stretched between two aluminium profiles. Two parallel lines were drawn to the volunteer's dorsal aspect of the lower arm, transversely to the length of the arm. The person was asked to put the arm between the two aluminium profiles with metal wires touching the dorsal aspect of the lower arm. To ensure the initial position was precisely the same in each experiment, the wires had to be aligned with the lines drawn on the lower arm. In each experiment the robot collided with the arm, while moving along a straight line perpendicularly to the arm surface. The point of impact was positioned in the centre of the forearm on the dorsal aspect of the lower arm. As in the experiments with PMLA, the robot end-effector was programmed to stop at the point located inside the human arm and at constant deceleration. The depth of the stopping point under the arm surface was changed from 10 mm to 20 mm and 30 mm, while robot's deceleration was incrementally changed from 1 m/s2 to 5 m/s2. ■ 3 Mathematical modelling In this section, the impact models for both types of experiments are derived, which will be used in the 3D virtual environment for further experimentation. Subsection 3.1 describes the impact model for PMLA, while in subsection 3.2 impact model for real human arm is derived. The development of the models is based on theoretical modelling, giving the description of the physics of the impact. An efficient connection between the programming packages Matlab-Si-mulink (The MathWorks, Inc.) and Dymola-Modelica (Dynasim AB) was used for optimization and estimation of some parameters, with the use of the results of the experiments. 3.1 Modelling of impacts with passive mechanical lower arm From the data obtained with the Optotrak measuring system we can conclude, that the impact has no effect on the movement of the robot end-effector. Therefore, the human-robot impact can be mathematically modelled as a forced movement of the arm under the influence of the movement of the robot. 3.1.1 Kinematics of the robot end-effector For each experiment the movement of the robot was assessed. Collision occured while the end-effector was moving with constant deceleration a. The end-effector's movement has stopped when it reached the depth h under the surface of the PMLA's initial position. From the collision starting moment to the moment when collisi- on ended, the robot end-effector has travelled a path of the length h along a straight line perpendicularly to the arm surface. Simple equations v(t) = aot + vo and s(t) = aot ^ + vot + so (1) (2) describe the kinematics of an object, where v(t) is the speed, s(t) is the path, v0 and s0 are the object's initial speed and position and a0 is it's constant acceleration or deceleration, depending upon the sign of the constant. In the following equations deceleration a is considered to be a positive real number. From equation (2) we can obtain the time in which the end-effector travels the distance h t = P2K imp y a (3) by setting v„=So=0, ao=a and s(tj-h. The variable tmp represents the time elapsed from the beginning of the collision to the moment when the end-effector stopped. By keeping v0=0 and a0-a in equation (1), with use of equation (3), we can also derive the end-effector's speed at the impact starting moment Vinit ah (4) The end-effector's path during the impact as a function of time can be therefore expressed with equation s(t) = v,„it - at t (5) When the robot end-effector stopped at depth h, it remained at that position to the end of the experiment. Therefore, for t > L the equation ' imp I S(t) = Vinittimp - atlnp = h (6) holds. 3.1.2 Defining the variables of PMLA With a variable x(t) we denote the depth, to which the robot end-effector immerses into PMLA's prosthetic tissue. The angle of rotation of the lower arm around the elbow joint is denoted (^(t), while the translation of the impact point in the direction perpendicularly to the arm's surface in initial position isy(t). Therefore, y(t) = rsin ((t) (7) is obvious, where r is the distance between the point of impact and the axis of rotation. 3.1.3 PMLA's and end-effector's joined movement From the observation of the impact experiment and verified with the data from Optotrak measuring system, by calculating the distances between the infrared markers, we can conclude, that once the contact of the robot end-effector with PMLA has been made, they remain in contact even after the collision. Therefore, equation y(t) = s(t)-x(t) (8) is valid. 3.1.4 Equation of rotation Viscoelastic properties of the artificial arm are modelled with a spring and a damper. The force of the robot applied to PMLA is therefore equal to the expression frob (t) = krx{t) + brx{t) (9) being it's damping constant. Finally, N(t) represents the torque in the elbow joint, dependent on the adjustment of the rotary unit, which has been provided to hold the arm in steady position before the impact. 3.1.5 Modeling the friction force The torqueN(t) is caused by the friction force Fr(t) in the elbow joint. The surface affected by the friction force and also the distance of this surface to the axis of rotation is unknown. This is the reason to introduce a constant PL, which leads to equation N(t) = PLFr(t) (11) where Kr is the arm's spring constant and br is it's damping constant. The Euler equation of rotation of the lower arm around an elbow joint has the form J(p(t) = rFROB (t) - b(p(t) - N(t) (10) On the left-hand side of the equation, there is the change of the angular momentum of the lower arm, with J being it's inertia. On the right-hand side of the equation there is the sum of the torques applied to the arm. As it has been implied, the first element of the equation represents the torque of the end-effector, where the constant r is the same as in (7). The second element of the equation is the torque produced by the pneumatic cylinder installed near the elbow joint, with b when object starts to move, a Strie-beck phenomenon is included in the model (Figure 2 (b)). The appropriate choice of the unknown constants K , K , K and K cour visc stat stri in the function Fr (t) = K^o^u^i (1 + (t) + fry + K^a^^e ^coul - Kstri(p (t) ) (12) The friction force is modelled with a combination of three different types of friction. These are static, Coulomb and viscous friction. The static friction represents the force necessary to initiate motion from rest, Coulomb friction is of constant value and depends only on the sign of the velocity of a moving object and finally, the viscous friction is proportional to the object's velocity. In most of the cases the value of static friction is larger than the Coulomb's friction constant (Figure 2 (a)). This classical friction model cannot explain the behaviour of the friction force at low velocities, called a Stri-ebeck phenomenon [11], describing decreasing of friction with increasing velocities. Therefore, to ensure a smooth transition from static to Coulomb and viscous friction in the moments gives us the desired model of a friction force in the elbow joint in each moment, after the arm has started moving. The term (p(t) that appears in the equation is the angular velocity of PMLA. In a short interval of time, after the start of the impact, the arm does not move from it's initial position. Only immersing into the prosthetic arm's tissue occurs, because the force of the robot end-effector has not yet reached the value of the static friction force in the elbow joint. Therefore, during this interval of time the torque caused by the friction force must be the same as the torque caused by the robot end-effector. This implies the equation Ffr (t) = Pr (KrX(t) + brX(t)) (13) This force is active until ); Ff (t) < Kcou, (1 + Kstat) and (p (t) = 0, otherwise. (14) 3.1.6 Initial conditions For functions x(t) and (^(t) the initial conditions must be set. If we assume, that collision starts at t=0, than we have x(0)=0 and 9(0)=0. The force of the robot end-effector has to exceed the static friction force, before the arm starts rotating around the elbow joint. This implies that x(0)=vinit and ^ (0)=0. 3.1.7 Model implementation in Modelica Equations (3)-(n) and (14), together with the initial conditions, form a system of equations which represents the impact model. The system includes 8 unknown parameters (K, B, b, iL, K ,, K , and Kt_), which li ad Ü couV visC stat stri" to be chosen using the optimization algorithm and simulation. An efficient modelling and simulation environment can be very helpful in final model implementation. There are domain oriented packages with user friendly high level modelling possibilities: electronic systems (SPICE), multi-body systems (SIMPACK), there are many other packages for mechanical and also robotic systems. These simulation packages are only strong in one domain and are not capable to model components from other domains in a reasonable way. However, advanced robotic investigations demand modelling of systems with components from different domains, at least mechanical, electrical and control systems domains. Such multi-domain systems can be modelled with general-purpose tools such as SI-MULINK, ACSL, which representations are essentially based on the same modelling methodology, input-output blocks, as in the previous standardized CSSL language. This is universal but a very low level mathematical modelling approach, which requires a lotofengineering skills and manpower and, in addition, it is error-prone. However, in order to allow the reuse of component models, the equations should be stated in a neutral form, without any consideration of the computational order, what are inputs, what are outputs, what are causes and what are consequences. This is the so-called acausal modelling approach. Because in nature real systems are acausal. We never know whether a force causes a displacement or vice versa. Causality is artificially made because the physical laws have to be transformed into a convenient computational description. It is much easier, more convenient and more natural then to use acausal modelling tools, such as Dymola [12,13]. Dymola uses a new world wide used standardized language Modelica [14, 15]. In Modelica we write balance and other equations in their natural form as a system of differential-algebraic equations. Then, computer algebra is utilized to achieve an efficient simulation code. Modelica supports textual (equation) modelling and also the very powerful high level graphical modelling when pre-prepared components from many libraries can be used. Many of this libraries are public domain. With Modelica, equations (3)-(11) and (14), are directly transferred in the so called textual layer in Dymola program. In the future we also intend to develop a library with reusable application components. Mechanical parts, revolute joints, sensors, generators of forces and torques, dampers, springs - these components can already be found in Modelica Standard and in Modelica Multibody library, but some specific and nonlinear components have to be developed. This approach will also enable to develop animation schemes in parallel with numerical simulation. 3.1.8 Parameter estimation us i ng optimization As stated, 8 unknown parameters were determined in the way that the results of the simulation model were as close as possible to the results of the corresponding real experiment in the sense of a selected criterion function. The results of a single experiment were used in the parameter estimation. The remaining data was used later for the validation of the model. There are several approaches how to estimate parameters of a nonlinear model. We chose a very universal and a very engineering approach which also demonstrates a rather sophisticated modelling and optimisation environment (Figure 3). Namely we used Dymola-Modelica environment for pure 'physical' modelling. The whole model was used as the so called 'Modelica block' in Si-mulink environment. Beside Simulink was used as a data base for real experiment measurements. The difference between model outputs and corresponding measurements is used for the evaluation of the criterion function C = ^ ((v„ (i) - ve (i))2 + (fm (i) - - fe (i'T)2 + (ym (i) - ye (i))') + Pi I maXi^T vm (i) - maXieT ve(i) I + p21 maXi-^ T fm (i) - maXi-^ t fe (i) I + P3 1 maXisT ym (i) - maXisT ye(i') |(15) where T is a large finite set, representing the points of time. Values vji), fji) and yji) represent the model outputs of PMLA angular velocity, impact force and PMLA's movement in vertical direction. Their corresponding values, measured in real experiments, are denoted vJi), fJi) and yJi). The values p1, p2 and p3 are used as a weight, giving greater importance to the minimization of the differences between the maximum values of measured and modelled quantities. The optimization is performed with Matlab programme using Optimization Toolbox and fminsearch function. Optimisation needs the evaluations of criteria functions in many iterations which are actually obtained by Simulink simulations. After 669 itterations which used 1097 simulation runs the following optimal parameters are obtained: K^ = 7156.5 ^f, br = 0.11352^^, b = 1.8382 iL = 0.20942m, Kcou^, = 2.8491^, Kvsc = 0.98082^Oj, = 2.7502, = 1.168^::^. rads Figure 3. Modelling and optimisation environment The constant K is defined in such a stat context that it has no unit. 3.1.9 Results The simulations of the impact model indicate good matching with the experiment results for different robot decelerations and different depths of the end-effector's stopping point. Figures 4-6 show the comparison Figure 4. Impact force for the experiments with PMLA (solid line) and model (dashed and dash-dotted line) at robot deceleration 3 m/s2 and at different depths of stopping point between the impact model and the experiment results with PMLA. The diagrams of various impact experiments are drawn with a solid line, while their corresponding impact model graphs are drawn with a dashed or dash-dotted line. Prediction of the impact model shows a slightly increased time interval, during which the impact force effects. The value at which the force measeured in real experiments stabilizes after the collision, does not always perfectly match the value of the signal of the model. These two observations are not very important in our study, because the impact model is going to be used in the 3D virtual environment, in which the maximum value of the force applied to the arm during the impact will be of greater importance. The model prediction of the maximum value, matches the maximum value of force measured in experiments with fairly high accuracy (Figure 4). The speed of PMLA is modeled with great precision (Figure 5). The maximum value of velocity, matches the measured value. In general, diagrams of the impact model, representing the PMLA velocity, show no significant discrepancies to the diagrams of impact experiments. During the impact process PMLA rotates around the elbow joint. This brief movement is mostly shown in vertical translation of the arm. The model signals are a bit delayed and they stabilize at a slightly lower value in comparison with the ones measured in real experiments (Figure 6). 3.2 Modelling of impacts with real human arm As it has been observed for the experiments with PMLA, impacts of the robot end-effector with the real human arm, also have no effect on the movement of the robot. This was also verified with the data assessed with the Optotrak measuring system. Therefore, this type of impact is also modeled as the forced movement of the arm under the influence of the movement of the robot. 3.2.1 Adjustment of the impact model for PMLA The outputs of the impact model for PMLA, which was derived in subsection 3.1, have been compared to the results of the experiments with human subjects. New parameters were obtained with optimization and simulation, to fit the measured data as good as possible. Because of the movement of the human arm in the shoulder joint, during the impact process, the impact model's results were less accurate. Therefore, the impact model has been adjusted, considering the rotation in the shoulder joint, which was demonstrated in slightly better results. Kinematics of the robot end-effector, during the impact of the robot with the real human arm, remain the same Figure 5. PMLA angular velocity for experiments (solid line) and model (dashed and dash-dotted line) at robot deceleration 4 m/s2 and at different depths of stopping point Figure 6. Vertical component of the PMLA movement for experiments (solid line) and model (dashed and dash-dotted line) at robot deceleration 1 m/s2 and at different depths of stopping point as in the previous model. Therefore, equations (1)-(6) remain valid in the new model. With a variable x(t) we denote the depth to which the human tissue is immersed under the influence of the movement of the robot end-effector. Therefore, the force of the robot applied to the arm is again modeled with equation Frob (t) = Kr~ (t) + br^ (t) where K and b are as in (9). (16) 3.2.2 Kinematics of the human arm The assumption has been made, that the movement of the arm is limited to Figure 7 demonstrates the human arm in 3 different positions. The initial position is the topmost, underneath is the position, when the arm is rotated in the shoulder joint for the angle 91 and at the bottom, the rotation around the elbow joint for the angle 92 is added. Vector a plane. The plane is defined by the straight line, along which the robot was moving before the impact and the tangent to the arm surface, pointing in the direction from the impact point to the elbow. With this assumption, the movement of the arm is described by two rotations. This is the rotation around the shoulder joint, denoted and the rotation around the elbow joint, denoted 92(?). The angle between the lower arm and the upper arm in initial position is denoted 90. The origin of the coordinate frame is positioned in the shoulder joint, while the x axis of the coordinate frame is parallel to the human lower arm. R denotes the initial position of the elbow and vector R+r the initial position of the impact point. Therefore, the value |R| represents the length of the human upper arm, while the value |r| represents the distance from the impact point to the elbow. For simplicity, human upper and lower arm are represented with line segments. Rotations around the shoulder and elbow joint are time dependent and are running in the clockwise direction, which can be mathematically described as Ri(t; := cos (p^ (t) sin (t) - sin pj(t) cos pj(t)_ cos p2 (t) sin p2 (t) - sin p2 (t) cos (2 (t) and (17) We denote the components of the above mentioned vectors with R=[Rx,R^]T and r=[r,0]T. It is assumed, that the distance of the impact point from the elbow joint remains constant during the impact process. Therefore, the position of the impact point can be described with the equation x(t )■ y(t) = R1(t;(R+R2(t;r). (18) The movement of the arm is mostly perceived in the vertical direction. By expanding the upper equation, one can derive Figure 7. Human arm in 3 different positions, represented with line segments y(t) = -svni^1(t){Rx+rcosi^2(t))+ 3.2.3 Joined movement of the robot end-effector and the human arm The end-effector's and arm's joined movement is ascertained in the same way as in the experiments with PMLA. The position of the coordinate frame now dictates the equation y(t) = R^ - s(t) + X(t) (20) 3.2.4 Equations of rotation The moment of inertia for rotation of the human arm around the shoulder joint is a function of