Top Banner
Robotica (2013) volume 31, pp. 1143–1153. © Cambridge University Press 2013 doi:10.1017/S0263574713000404 Walk-through programming for robotic manipulators based on admittance control Luca Bascetta , Gianni Ferretti, Gianantonio Magnani and Paolo Rocco Politecnico di Milano, Dipartimento di Elettronica, Informazione e Bioingegneria, Piazza Leonardo da Vinci 32, 20133 Milano, Italy (Accepted April 11, 2013. First published online: May 14, 2013) SUMMARY The present paper addresses the issues that should be covered in order to develop walk-through programming techniques (i.e. a manual guidance of the robot) in an industrial scenario. First, an exact formulation of the dynamics of the tool the human should feel when interacting with the robot is presented. Then, the paper discusses a way to implement such dynamics on an industrial robot equipped with an open robot control system and a wrist force/torque sensor, as well as the safety issues related to the walk-through programming. In particular, two strategies that make use of admittance control to constrain the robot motion are presented. One slows down the robot when the velocity of the tool centre point exceeds a specified safety limit, the other one limits the robot workspace by way of virtual safety surfaces. Experimental results on a COMAU Smart Six robot are presented, showing the performance of the walk-through programming system endowed with the two proposed safety strategies. KEYWORDS: Force control; Control of robotic systems; Haptic interfaces; Man–Machine systems; Automation. 1. Introduction Industrial robots are complex and powerful machines, able to execute a variety of different tasks with high speed and accuracy. Nevertheless, they still have a low degree of autonomy and adaptability, always needing huge efforts of a human operator to learn new tasks or tune existing ones A manual generation of a finishing path, for example, is a very complex and tedious task, taking up to ten weeks to create the part program to deburr a single aluminium wheel. 21 This is a rather common and crucial aspect in a variety of different robotic tasks, preventing robots from spreading in small and medium enterprises, where mid/low lot size production does not allow for such a costly and time- consuming set-up. Generally, the fact that the programming phase is complex and time demanding is considered one of the major weaknesses of today’s industrial robotic systems. The introduction of a programming paradigm, based on a physical interaction between the human operator and the robot, represents a step forward in making the programming * Corresponding author. E-mail: [email protected] phase simple, intuitive and faster, and even in promoting an increased autonomy and cognitive ability of the robotic system. In this paradigm, the so-called walk-through progra- mming, 19 the human operator plays the role of a teacher that physically moves (“walks”) the robot through the desired positions within the robot’s working envelope. During this phase, the robot’s controller may scan and store coordinate values. 15 At the end of this operation, the robot controller has recorded all the significant points in the trajectory demonstrated by the human, and is thus able to interpolate it and play it back. The walk-through programming obviously entails imple- mentation and safety issues. 1 Concerning the implement- ation, the walk-through programming usually requires significant changes in the robot control software that can be accomplished only with open robot control platforms. On the other side, safety is an important issue as the walk-through method requires the operator to be within the robot’s working envelope with the robot’s controller energised: the robot programmer is thus in a potentially hazardous situation. 15 For the sake of completeness, it must be noticed that the walk-through programming is of particular interest in robotic surgery as well. 17, 18, 20 In fact, it allows for a synergy between the surgeon and the robot: the robot provides geometric accuracy and increases safety, preventing the execution of operations outside a predefined safe region; the surgeon guides the robot using his or her superior human senses and understanding of the overall situation to perform the surgery. A walk-through programming technique, based on admittance control, is presented here. The paper develops the ideas already introduced in refs. [6–8, 24] for arm- manipulator coordination in load sharing, and in refs. [11, 12] for welding and spray painting. Other examples of the walk-through programming can be found in the scientific literature and in a few industrial products. In ref. [13], a complete architecture that allows to program a robot using a physical human–robot interaction is presented. This work is very comprehensive, but does not take into account the concept of virtual tool, i.e. how to give 1 In this paper, we use the term “safety”, with a slight abuse of notation, to refer to control functionalities that can improve the safety in the human–robot interaction, but that cannot replace certified safety devices. https://doi.org/10.1017/S0263574713000404 Downloaded from https:/www.cambridge.org/core. Open University Library, on 08 Feb 2017 at 17:11:43, subject to the Cambridge Core terms of use, available at https:/www.cambridge.org/core/terms.
11

Walk-through programming for robotic manipulators based on … · 2017. 2. 8. · COMAU robots. Though this device is very intuitive and can be placed on the robot, or attached to

Jan 19, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Walk-through programming for robotic manipulators based on … · 2017. 2. 8. · COMAU robots. Though this device is very intuitive and can be placed on the robot, or attached to

Robotica (2013) volume 31 pp 1143ndash1153 copy Cambridge University Press 2013doi101017S0263574713000404

Walk-through programming for robotic manipulators based onadmittance controlLuca Bascettalowast Gianni Ferretti Gianantonio Magnaniand Paolo RoccoPolitecnico di Milano Dipartimento di Elettronica Informazione e Bioingegneria Piazza Leonardo da Vinci 32 20133Milano Italy

(Accepted April 11 2013 First published online May 14 2013)

SUMMARYThe present paper addresses the issues that should becovered in order to develop walk-through programmingtechniques (ie a manual guidance of the robot) in anindustrial scenario First an exact formulation of thedynamics of the tool the human should feel when interactingwith the robot is presented Then the paper discusses away to implement such dynamics on an industrial robotequipped with an open robot control system and a wristforcetorque sensor as well as the safety issues related tothe walk-through programming In particular two strategiesthat make use of admittance control to constrain the robotmotion are presented One slows down the robot when thevelocity of the tool centre point exceeds a specified safetylimit the other one limits the robot workspace by way ofvirtual safety surfaces Experimental results on a COMAUSmart Six robot are presented showing the performance ofthe walk-through programming system endowed with thetwo proposed safety strategies

KEYWORDS Force control Control of robotic systemsHaptic interfaces ManndashMachine systems Automation

1 IntroductionIndustrial robots are complex and powerful machines ableto execute a variety of different tasks with high speedand accuracy Nevertheless they still have a low degree ofautonomy and adaptability always needing huge efforts of ahuman operator to learn new tasks or tune existing ones

A manual generation of a finishing path for example isa very complex and tedious task taking up to ten weeksto create the part program to deburr a single aluminiumwheel21 This is a rather common and crucial aspect in avariety of different robotic tasks preventing robots fromspreading in small and medium enterprises where midlowlot size production does not allow for such a costly and time-consuming set-up Generally the fact that the programmingphase is complex and time demanding is considered one ofthe major weaknesses of todayrsquos industrial robotic systems

The introduction of a programming paradigm based ona physical interaction between the human operator and therobot represents a step forward in making the programming

Corresponding author E-mail lucabascettapolimiit

phase simple intuitive and faster and even in promotingan increased autonomy and cognitive ability of the roboticsystem

In this paradigm the so-called walk-through progra-mming19 the human operator plays the role of a teacher thatphysically moves (ldquowalksrdquo) the robot through the desiredpositions within the robotrsquos working envelope During thisphase the robotrsquos controller may scan and store coordinatevalues15 At the end of this operation the robot controllerhas recorded all the significant points in the trajectorydemonstrated by the human and is thus able to interpolateit and play it back

The walk-through programming obviously entails imple-mentation and safety issues1 Concerning the implement-ation the walk-through programming usually requiressignificant changes in the robot control software that can beaccomplished only with open robot control platforms On theother side safety is an important issue as the walk-throughmethod requires the operator to be within the robotrsquos workingenvelope with the robotrsquos controller energised the robotprogrammer is thus in a potentially hazardous situation15

For the sake of completeness it must be noticed that thewalk-through programming is of particular interest in roboticsurgery as well17 18 20 In fact it allows for a synergy betweenthe surgeon and the robot the robot provides geometricaccuracy and increases safety preventing the execution ofoperations outside a predefined safe region the surgeonguides the robot using his or her superior human senses andunderstanding of the overall situation to perform the surgery

A walk-through programming technique based onadmittance control is presented here The paper developsthe ideas already introduced in refs [6ndash8 24] for arm-manipulator coordination in load sharing and in refs [1112] for welding and spray painting

Other examples of the walk-through programming canbe found in the scientific literature and in a few industrialproducts In ref [13] a complete architecture that allows toprogram a robot using a physical humanndashrobot interactionis presented This work is very comprehensive but does nottake into account the concept of virtual tool ie how to give

1 In this paper we use the term ldquosafetyrdquo with a slight abuseof notation to refer to control functionalities that can improvethe safety in the humanndashrobot interaction but that cannot replacecertified safety devices

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1144 Walk-through programming for robotic manipulators

to the operator the impression to move the robot as movingthe tool used to accomplish the task On the other handin refs [10 11] the authors propose a walk-through teachingmethod for a welding process that is very similar to the onediscussed here The present paper in addition proposes anonlinear model of the dynamics of the virtual tool givingto the reader the opportunity to choose between this modeland a set of linear admittance filters Furthermore in refs[9 14] an advanced technique for programming by touchis presented This methodology however is conceived for aredundant manipulator with torque sensors at the joints andcannot be easily applied to an industrial manipulator with aforcetorque sensor at the end-effector

Concerning the industrial state-of-the-art two productsexist One is the so-called manual guidance device23 a lowcost programming by demonstration device based on anoptical mouse with 6 dof that can be used to programCOMAU robots Though this device is very intuitive andcan be placed on the robot or attached to the teach pendantor even kept in the teacherrsquos hands it does not allow for aphysical humanndashrobot interaction thus being conceptuallydifferent from the solution proposed in this paper

The other one is the ABB programming handle22 a devicebased on a forcetorque sensor and two handles that can beused to move the robot end-effector Though this approachseems to be very similar to the one proposed here the ABBproduct does not consider the concept of virtual tool and itseems that it does not allow the execution of complex pathscombining translations and rotations at the same time

Experimental evidence of the good performance andversatility of the approach is given with reference to a set-upcomposed of a COMAU Smart Six industrial robot equippedwith an ATI forcetorque sensor

The paper is organised as follows In Section 2 the motionequations of the virtual tool are introduced Section 3 coversall the aspects related to the development of the walk-throughprogramming technique in an industrial scenario Section 4describes the robotic cell set-up and shows the results of anexperimental validation of the proposed control approach

2 Virtual Tool DynamicsIn the walk-through programming the human operator playsthe role of a teacher that physically walks the robot throughthe desired path Furthermore in an industrial applicationlike metal finishing or painting operations the physicalinteraction between the human operator and the robot shouldbe conceived in such a way that the teacher has the impressionto grab a real tool eg a deburring tool or a spray gun insteadof the robot end-effector

The role of the control system is thus to accommodate forthe motion commanded by the teacher mimicking the samedynamic behaviour of the real tool ie behaving like a virtualtool that exhibits the same mechanical properties of the realtool Considering again an industrial application the robotis equipped with a forcetorque sensor mounted at the end-effector and a handle connected to the sensor The humanoperator grabs the handle in order to transmit the desiredmotion to the manipulator The robot instead controls thehandle trajectory in such a way that the human has the

Fig 1 (Colour online) Frames used to derive the dynamics of thevirtual tool

impression to move an object having the same weight andinertial properties of the real tool instead of the manipulatorFor this reason the name virtual tool is used to refer to theimaginary object whose mechanical properties are the sameas the real tool that is emulated by the robot

The first step towards the development of the walk-throughprogramming technique is thus the derivation of the exactNewtonndashEuler dynamic equations of the virtual tool Sincethere are several bodies involved in the system (robot end-effector forcetorque sensor real tool and virtual tool) it isparticularly important to provide a rigorous and unambiguousdefinition of the frames and vectors needed to define the saiddynamics

Consider Fig 1 where the following frames are reported(x0 y0 z0) the absolute frame (xS yS zS) a frame attachedto the forcetorque sensor (xP yP zP ) a frame attached tothe actual tool with the origin located where the operatorgrabs the tool (xB yB zB) a frame attached to the virtualtool with the origin located in its centre of mass

The dynamic model is written using the followingcoordinates2

rP =⎡⎣xP

yP

zP

⎤⎦ and pP =

⎡⎢⎣

eP0

eP1

eP2

eP3

⎤⎥⎦ (1)

which represent the coordinates of the origin of frame P withrespect to the absolute frame and the relative orientation ofthe same frames respectively

The equations of motion of the virtual tool with respect toframe P can thus be written as

fP = m[aP minus g + εP times rBP + ωP times (ωP times rBP )] (2)

τP = IBεP + ωP times (IBωP ) + rBP times fP (3)

2 Notice that the orientation in (1) is expressed in terms of the fourEuler parameters (unit quaternion) while being redundant thisrepresentation avoids the so-called gimbal lock ie the situationwhen two axes are aligned and the system loses one rotationaldof

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1145

where the following symbols have been introduced m mass of the virtual tool IB inertia tensor of the virtual tool with respect to a frame

B with origin in the centre of mass of the virtual toolexpressed in the absolute frame

g gravity acceleration vector expressed in the absoluteframe

fP τP vectors of the forces and moments respectivelyapplied by the human operator to the actual tool expressedin the absolute frame

aP absolute acceleration of the origin of frame P expressed in the absolute frame

ωP and εP angular velocity and angular acceleration offrame P expressed in the absolute frame

rBP position of the origin of frame B with respect to theorigin of frame P expressed in the absolute frame

Note that in the equations of motion of the virtual tool notranslation or rotational viscous friction has been introducedIn fact considering that the tool moves through the air andthe typical velocity of the human hands is quite low thecontribution of viscous friction is negligible

In Eqs (2)ndash(3) the following kinematic terms have beenintroduced as well the absolute velocity of the origin of frame P expressed

in the absolute frame

vP = drP

dt=

⎡⎣vPx

vPy

vPz

⎤⎦

the absolute acceleration of the origin of frame P expressed in the absolute frame

aP = dvP

dt=

⎡⎣aPx

aPy

aPz

⎤⎦

the angular velocity of frame P expressed in the absoluteframe

ωP = 2

⎡⎣minuseP1 eP0 minuseP3 eP2

minuseP2 eP3 eP0 minuseP1

minuseP3 minuseP2 eP1 eP0

⎤⎦dpP

dt= 2E

dpP

dt

the angular acceleration of frame P expressed in theabsolute frame

εP = 2dEdt

dpP

dt+ 2E

d2pP

dt2

the rotation matrix of frame P with respect to the absoluteframe

RP = 2[nxP nyP nzP ]

where

nxP =⎡⎣ e2

P0 + e2P1 minus 1

2eP1eP2 + eP0eP3

eP1eP3 minus eP0eP2

⎤⎦

nyP =⎡⎣eP1eP2 minus eP0eP3

e2P0 + e2

P2 minus 12

eP2eP3 + eP0eP1

⎤⎦

nzP =⎡⎣eP1eP3 + eP0eP2

eP2eP3 minus eP0eP1

e2P0 + e2

P3 minus 12

⎤⎦

and

e2P0 + e2

P1 + e2P2 + e2

P3 = 1

Note that in Eqs (2)ndash(3) the inertia tensor of the virtualtool IB is time varying as it is expressed with referenceto the absolute frame Alternatively the equations can berewritten by projecting all the quantities onto frame P

attached to the real and thus also to the virtual tool asfollows

P fP = m[P aP minusP g+P εP timesP rBP +P ωP times (

P ωP timesP rBP

)]

(4)P τP = P IB

P εP + P ωP times (P IB

P ωP

) + P rBP times P fP (5)

In this formulation the inertia tensor P IB is used which isnow time invariant

Finally notice that the frame used to command the robotmotion is the sensor frame S Specifically the motion will beassigned by commanding the motion of the origin of frameS with respect to the absolute frame and the rotation matrixof the said frame The following parameters of the real toolare introduced

SrSP position of the origin of frame P with respect to theorigin of frame S expressed in frame S

SRP rotation matrix of frame P with respect to sensorframe S

The position and orientation of frame S are thus readilygiven by

rS = rP minus RP

(SRP

)T SrSP RS = RP

(SRP

)T

3 Walk-Through Programming Using AdmittanceControlIn order to ensure that the robot behaves as the virtualtool in response to the teacherrsquos forces a controller thatenforces the dynamics described by Eqs (4)ndash(5) must bedevised It must be noticed however that Eqs (4)ndash(5) area set of six nonlinear and coupled differential algebraicequations whose integration in the real-time robot controlleris a challenging task Furthermore considering that theteaching phase is characterised by low linear and even lowerangular velocities and accelerations the couplings betweenthe Newton and Euler dynamics can be neglected

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1146 Walk-through programming for robotic manipulators

Fig 2 The position controlled system with the admittance controller

The dynamic equations in (4)ndash(5) can thus be simplifiedas follows

P fP + mP g = mP aP (6)

P τP + P fP times P rBP = P IBP εP (7)

where the inertia tensor P IB has been approximated with adiagonal (constant) matrix

P IB = diag(P IBi

i = 1 3)

We can now state that the relations between the virtual toolposition and orientation and the forces and moments exertedby the teacher are a set of six independent double integratorsThe real-time integration of such unstable system howevercould lead to numerical problems that can be easily avoidedintroducing a dissipative term ie a linear viscous frictionin the linear and rotational motion As explained later thismakes the relations between forcesmoments and velocitiespassive contributing to the system stability and possiblyimproving the precision achievable with the walk-throughprogramming technique

Equations (6)ndash(7) can be then rewritten as

P fP + mP g = mP aP + DtP vP

P τP + P fP times P rBP = P IBP εP + Dr

P ωP

where Dt and Dr are the viscous friction matrix for thetranslational and rotational motion respectively Applyingthe Laplace transform to the previous equations yields

P rP = Lminus1Zminus1

t (s) FP (s)

pP = Lminus1Zminus1

r (s) TP (s)

where

Zminus1t (s) = diag

(1

ms2 + Dti s i = 1 3

)

Zminus1r (s) = diag

(1

P IBis2 + Dri

s i = 1 3

)

are two diagonal matrices of translational and rotationaladmittance filters and

FP (s) = L

P fP + mP g

TP (s) = L

P τP + P fP times P rBP

are vectors of Laplace transforms of the correspondingvariables

31 Admittance control implementation and safety issuesThe easiest way to implement an admittance control strategyon an industrial robot controller is by closing an external loopoutside the position control loops the admittance controllerfed by the measurements of force and moments acquiredby a forcetorque sensor mounted at the end-effector yieldsmodifications to the Cartesian (position and orientation)set-points in order to guarantee the prescribed compliantbehaviour If the industrial controller does not allow todirectly feed the Cartesian positionorientation set-pointsa kinematic inversion has to be added in order to convertthe outputs of the admittance filters into the joint positionset-points

Consider thus the block diagram in Fig 2 the part enclosedin the grey box represents the industrial position controlwhose set-points are updated based on the force measured atthe end-effector The dynamics of the human operator havebeen also represented7 8 as he or she closes a further loopoutside the industrial control that in particular situationscan lead to instability In order to simplify the analysis it issometimes assumed see eg refs [7 8] that the dynamicsof the human operator are relatively slow with respect to thedynamics of the position controlled robot

Assuming anyway that the dynamics of the human arepassive a sensible way to design the admittance filter isto guarantee a passive mapping between sensed forces andresulting velocities on the robot side

Then denoting with rP pP the reference trajectory andassuming the dynamics of the closed-loop position controlledrobot to be sufficiently fast it follows

rP asymp rP minus Zminus1t fP pP asymp pP minus Zminus1

r τP

or

fP asymp Zt (rP minus rP ) τP asymp Zr (pP minus pP )

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1147

which shows that an impedance relation between appliedforces (moments) and position (orientation) errors is at leastapproximately obtained

As far as safety aspects are concerned industrial robotsare designed to work in a highly structured environmentperforming fast and accurate movements in an area thatis rigidly separated by way of safety fences from theareas occupied by humans Robots safety requirements forindustrial environments are regulated by the internationalstandard ISO 10218-15

As already pointed out the walk-through programmingentails important safety issues as the operator is within therobot working envelope with the robot controller energisedIn particular the safety aspects that have to be consideredconcern the ergonomic design and the safe motion of therobot during the humanndashrobot interaction

Considering a single human operator interacting witha single robot the following safety procedure should beenforced

Activation of drive power Drive power has to be turnedon from outside the robot area after checking that the areais not occupied by anyone (as described by general safetyrules)Once the drive power has been activated the operator canstart the walk-through programming

Walk-through programming The operator should grab andactivate a three-position enabling device compliant withthe requirements of Section 583 in ref [5] interlockedwith the safety devices of the cellrobot control as longas he or she holds the device in a centre-enabled positionrobot motion is allowedThe robot motion is commanded by the teacher through theTeach Pendant or the device adopted for the walk-throughprogramming

According to ref [5] the speed of the end-effector mountingflange and of the tool centre point shall not exceed 250 mmsand the device adopted for the walk-through programmingshall be located close to the end-effector

In the next sections two further functionalities which canbe developed exploiting the admittance control frameworkare introduced The former presented in Section 32 usesa variable viscous friction to enhance the motion precisionand to introduce a safety limit on the maximum tool centrepoint velocity The latter described in Section 33 introducesvirtual barriers to separate the human from the robot end-effector

Notice however that these functionalities though usefulto improve the safety in the humanndashrobot interaction cannotin any case replace the safety procedure detailed previouslyIn fact they can only prevent a possible collision occurringat the robot end-effector and they cannot guarantee anyprotection if a failure at the forcetorque sensor occurs

32 Introducing a nonlinear viscous frictionAs explained at the beginning of this section the introductionof a dissipative term in the equations of motion of thevirtual tool makes the relations between forcesmoments andvelocities passive contributing to the system stability

0 10 20 30 40 5050

55

60

65

70

75

80

85

90

95

100

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 3 An example of the variable friction coefficient characterisedby a maximum viscous friction Dmax of 100 Nsm a minimumviscous friction Dmin of 50 Nsm a velocity vmax of 40 mms anda velocity vmin of 10 mms

Furthermore as shown in ref [16] the adoption of avariable friction coefficient can even enhance the motionprecision In fact for fine positioning ie for a motioncharacterised by a low velocity a high damping is beneficialbut for gross motion characterised by a high velocity a lowdamping makes motion easier

In principle this argument holds for the translational androtational motion as well In practice however a grossrotational motion is quite rare For this reason though themethodology presented here is general (ie it can be used forthe translational and rotational viscous friction coefficients)we consider only the case of a variable translational viscousfriction coefficient

To guarantee continuity and differentiability the relationbetween the absolute value of the velocity and the frictioncoefficient is represented by a logistic function as follows

D (|v|) = α1

1 + eα2(|v|minusα3)+ α4 (8)

Using the absolute value of the velocity ensures that velocityvectors having the same magnitude give rise to the samefriction coefficient independently of the direction of thevector In other words the curve representing the relationbetween the friction coefficient D and the velocity v issymmetric with respect to the y axis For this reason in thefollowing we consider only the positive half of this curve

The shape of the positive half (v ge 0) of the logisticfunction can be characterised through the following (Fig 3)coefficients

Dmax and Dmin the maximum and minimum values of thefriction coefficient respectively

vmax and vmin the velocities corresponding to a valueof the friction coefficient of 101Dmin and 99Dmaxrespectively

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1148 Walk-through programming for robotic manipulators

0 50 100 1500

50

100

150

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 4 An example of the variable friction coefficient used toactively enforce safety The curve is characterised by a safetyfriction Dsafe of 150 Nsm a maximum acceptable velocity vsafeof 75 mms and a range of velocities vsafe of 25 mms

0 50 100 150 200 250 300 35050

60

70

80

90

100

110

120

130

140

150

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 5 An example of the variable friction coefficient that aims atimproving the accuracy at low velocity and enforcing safety at highvelocity

Once these four coefficients have been selected the valuesof αi can be determined as follows

α1 = Dmax minus Dmin α3 = vmin + vmax

2

α4 = Dmin

and

α2 = 1

vmax minus α3ln

(100α1 minus α4

α4

)or

α2 = 1

vmin minus α3ln

(α1 + α4

99α1 minus α4

)

where the first relation is obtained imposing D (vmin) =99Dmax the second one imposing D (vmax) = 101Dmin

Since Dt is a diagonal matrix relation (8) is usedto independently determine the value of each friction

coefficient with respect to the corresponding component ofthe translational velocity

The same principle can be used to actively enforce safetyexerting a rapidly increasing friction force as the tool centrepoint velocity approaches a specified velocity safety limit Inthis case the logistic function has the following expression(Fig 4)

D (|v|) = β1

1 + eminusβ2(|v|minusβ3)(9)

and is characterised by vsafe the maximum acceptable tool centre point velocity Dsafe the value of the friction coefficient to be enforced

when the tool centre point velocity exceeds vsafe vsafe the range of velocities around vsafe (from vsafe minus

vsafe to vsafe + vsafe) where the friction coefficient ismonotonously increasing from 0 to Dsafe

The coefficients βi are given by the following relations

β1 = Dsafe β2 = 2

vsafe β3 = vsafe

Finally the two effects previously described can becombined giving rise to the frictionvelocity relation (Fig 5)

D (|v|) = α1

1 + eα2(|v|minusα3)+ α4 + β1 minus α4

1 + eminusβ2(|v|minusβ3)

that allows to improve the motion accuracy at low velocityand to enforce a safety velocity limit at high velocity

33 Introducing virtual safety surfacesA variable friction coefficient allows to enforce a limitationon the maximum tool centre point Cartesian velocity slowingdown the robot motion when the operator exceeds the safetylimit

Besides relating the safety to the robot velocity howeverin many tasks the introduction of a safety relation dependingon the position of the tool centre point is extremelyimportant Considering for example the walk-throughprogramming in the context of metal finishing operationsa virtual safety fence surrounding the robot workstationestablishes a barrier between the human body and the robotworkspace so that only the human arms are within theallowed robotrsquos working envelope

Following this idea another way to enforce safety inthe framework of the admittance control is to introduce avirtual separation between the robot end-effector and thehuman operator through a virtual safety surface The simplestexample of such surface is a virtual wall a plane that reactsto penetration generating a viscoelastic virtual force

Consider the case of a virtual wall characterised by a unitvector nw being the outer-pointing normal to the plane atpoint pw Assuming that the tool centre point position inthe absolute reference frame is given by vector rT CP thepenetration μ of the tool centre point into the virtual wall canbe determined as follows

μ =

(pw minus rTCP) middot nw if (pw minus rT CP ) middot nw gt 0

0 otherwise

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1149

Fig 6 (Colour online) The Smart Six robot and a detail of the end-effector with the ATI forcetorque sensor

Table I Main specifications of the ATI forcetorque sensor

ATI SI-130-10

Range Fx Fy plusmn130 NRange Fz plusmn400 NRange Tx Ty plusmn10 NmRange Tz plusmn10 NmResolution Fx Fy 120 NResolution Fz 110 NResolution Tx Ty 1400 NmResolution Tz 1400 Nm

The viscoelastic virtual force fvw generated by the wall isthen given by

fvw = (Kwμ + Dwμ)nw

Adding this virtual force to the real forces measured by thesensor allows to prevent as much as possible the robot toolcentre point from entering the space behind the virtual wall

The virtual and real forces are then fed together into theadmittance filter to generate the robot motion

Then with the same approach more complex virtualsurfaces can be introduced Note that however the approachproposed here is limited to a point contact between the virtualwall and the tool centre point and any extension to morecomplex constraints requires further investigation

4 Experimental ResultsThe experimental set-up consists of a robot Smart Six (Fig 6)a 6 dof 6 kg payload industrial manipulator manufacturedby COMAU equipped with the open version of the COMAUC4G controller4 In the open version the C4G acting as anetwork client is linked to a real-time external PC through areal-time ethernet connection based on the RTnet protocol3

The real-time external PC acting as a network server is basedon the RTAI Linux real-time extension2 The two devicescommunicate at a frequency of 500 Hz every 2 ms theindustrial controller sends to the external PC the actual joint

Fig 7 (Colour online) The operator interacting with the robot during a walk-through programming operation

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1150 Walk-through programming for robotic manipulators

0 10 20 30 40 50-50

0

50

Fx [N

]

0 10 20 30 40 50-50

0

50

Fy [N

]

0 10 20 30 40 50-10

0

10

Time [s]

Fz [N

]

(a)

0 10 20 30 40 50-5

0

5

τ x [Nm

]

0 10 20 30 40 50-5

0

5

τ y [Nm

]

0 10 20 30 40 50-2

0

2

Time [s]

τ z [Nm

]

(b)

Fig 8 Forces (a) and torques (b) expressed in the absolute frameduring a walk-through programming experiment

positions and velocities and the reference motor currentsand the external PC replies sending the reference jointpositions and velocities

An ATI 6-axis wrist forcetorque sensor (see Fig 6 andTable 33 for further details) is fitted to the arm end-effectorand linked to the PC through a DAQ board that is managedby the RTAI system thanks to a real-time extension of theComedi drivers1 The analogue voltages generated by thedevice are acquired by a dedicated real-time thread that runsperiodically at a frequency of 10 kHz This thread is also incharge of reducing the effect of measurement noise filteringeach channel with a 10th-order moving average filter

The easiest way to implement the walk-throughprogramming technique on an industrial robot controlleris by enforcing the dynamics of the virtual tool throughan admittance controller as described in Section 31 Anexternal loop is then closed outside the position control loopsin the industrial controller (Fig 2) the admittance controllerfed by the measurements of forces and moments acquired by

0 10 20 30 40 50-500

0

500

v x [mm

s]

0 10 20 30 40 50-500

0

500

v y [mm

s]

0 10 20 30 40 50-100

0

100

Time [s]

v z [mm

s]

(a)

0 10 20 30 40 50-500

0

500

ωx [m

rad

s]

0 10 20 30 40 50-500

0

500

ωy [m

rad

s]

0 10 20 30 40 50-100

0

100

Time [s]

ωz [m

rad

s]

(b)

Fig 9 The virtual tool linear (a) and angular (b) velocitiesexpressed in the absolute frame during a walk-throughprogramming experiment

a forcetorque sensor mounted on the end-effector yieldsmodifications to the joint position set-points in order toguarantee the prescribed compliant behaviour

Furthermore in order to fulfil all the safety requirementsdiscussed in Section 31 a set of safety constraints isintroduced

a virtual force proportional to the tool centre pointCartesian velocity by way of a nonlinear viscous frictioncoefficient that rapidly increases as the velocity approachesthe value of 250 mms is superimposed to the forcesmeasured by the forcetorque sensor (this force preventsthe human operator from exceeding the maximum velocityprescribed by the safety requirements for the teachingphase)

three virtual walls surrounding the workstation at thefront left and right side generate viscoelastic virtual forcesproportional to the penetration that are superimposed tothe forces measured by the forcetorque sensor (theseforces prevent the robot from exiting the predefined

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1151

(a) Tool trajectory

0 10 20 30 40 500

1

2

Err

or x

[mm

]

0 10 20 30 40 500

05

1

Err

or y

[mm

]

0 10 20 30 40 500

05

1

Err

or z

[mm

]

Time [s]

(b) Position errors

Fig 10 A comparison between the virtual tool experimentalpositions and the virtual tool trajectory obtained integrating thenonlinear motion equations in (4) and (5)

working area avoiding as much as possible a collisionbetween the robot and the human body)

A preliminary experiment shows the behaviour of thesystem in the absence of any safety constraint (Fig 7)It aims at comparing the trajectory executed by the robotemulating a spherical mass as the virtual tool and the onegenerated by a simulator that integrates the virtual toolmotion equations (4)ndash(5)

In this experiment the teacher walks the end-effectoraround a workstation a table of 40 times 80 cm length and 40 cmheight placed in front of the robot at 50 cm from the robotbase The virtual tool was given the mechanical propertiesof a sphere of 50 kg of mass and 5 cm of radius with aconstant viscous friction coefficient of 50 Nsm along eachtranslational direction and 10 Nmsrad along each rotationaldirection

Figures 8 and 9 show the forces and moments (expressedin the absolute frame) and the corresponding virtual toollinear and angular velocities (again expressed in the absolute

Fig 11 (Colour online) The experimental set-up with two examplesof the virtual walls

075 08 085 09 095 1 105 11 115-05

-04

-03

-02

-01

0

01

02

03

04

05

x [m]

y [m

]

Fig 12 The tool centre point trajectory in the xy plane (solid line)and the projection of the virtual walls on the xy plane (dashndashdottedline)

frame) These plots are useful to better understand the actionapplied by the operator on the robot end-effector and thecorresponding motion of the virtual tool which has thenbeen compared with the actual motion of the end-effector

Figure 10 shows such comparison between the trajectorywalked by the robot and the trajectory obtained integratingthe motion equations (4)ndash(5) fed by the forces and torquesmeasured during the experiment

Notice that the walk-through programming experimentdepicted here is characterised by several movementsinvolving tool position and orientation (Fig 10a) Thoughthe accelerations exerted by the teacher are sometimes evenlarger than the ones applied by an actual human operatorduring a teaching operation the robot always smoothlyaccommodates for the teacherrsquos commands

In any case Fig 10(b) clearly shows that the admittancefilters though simple and linear are adequate to describe themotion of the virtual tool In fact considering that the aimof the walk-through programming technique is to give the

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1152 Walk-through programming for robotic manipulators

0 2 4 6 8 10 12 14 1605

1

15

x [m

]

0 2 4 6 8 10 12 14 160

5

10

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v x [mm

s]

Time [s]

(a) x coordinate

0 2 4 6 8 10 12 14 16-05

0

05

y [m

]

0 2 4 6 8 10 12 14 160

20

40

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v y [mm

s]

Time [s]

(b) y coordinate

Fig 13 Time history of the xy coordinates limit imposed by thevirtual wall on the xy coordinates (dotted line) wall penetration μand tool centre point velocity along the xy directions

teacher the impression of moving the real tool instead of arobot an error in the range of few millimetres is acceptable

Another set of experiments aims at showing theeffectiveness of the safety constraints introduced inSections 32 and 33

To prevent as much as possible dangerous situations themotion of the robot has been confined to a box that includesthe workstation (Fig 11) Three virtual walls have beendefined one in front of the robot 11 m far from the robotbase and two at the left and right sides respectively each at adistance of 04 m from the robot base All these virtual wallsreact to a penetration of the robot end-effector generatinga viscoelastic virtual force characterised by a stiffness K of 5000 Nm and a damping D of 1000 Nsm For safetyreasons these virtual forces are limited to a maximum valueof 50 N

Figure 12 shows the projection of the virtual walls onthe ground plane (xy plane) together with the end-effectortrajectory the teacher drives the robot through a square that

0 5 10 15 20minus2000

0

2000

v x [mm

s]

0 5 10 15 20minus1000

0

1000

v y [mm

s]

0 5 10 15 20minus2000

0

2000

Time [s]

v z [mm

s]

Fig 14 An example of the effect of the variable friction coefficient(the dotted lines represent the velocity obtained simulating a set ofimpedance filters with constant friction) in keeping the tool centrepoint velocity below the safety limit of 250 mms (shown in thefigure by the dashed lines)

0 5 10 15 200

500

Dx [N

sm

]

0 5 10 15 200

200

400

Dy [N

sm

]

0 5 10 15 200

500

Time [s]

Dz [N

sm

]

Fig 15 Time history of the experimental friction coefficient appliedto limit the tool centre point velocity to 250 mms

touches all the three walls from right to left Figure 13 showsin detail the time history of the x and y coordinates and thetime instants at which a penetration in the virtual wall occursNote that when this happens the tool centre point velocityis almost instantaneously reduced so as to decrease as muchas possible the energy associated with the robot in case of animpact

Another way to enforce safety as described in Section 32relies on the introduction of a nonlinear viscous frictioncoefficient that forces the teacher to keep the tool centre pointvelocity below the safety limit of 250 mms Following thisrequirement relation (9) has been parameterised consideringa maximum velocity vsafe of 250 mms a maximum valueof the friction coefficient Dsafe of 800 Nsm and a rangevsafe of 001 ms

An experiment has been performed to show theeffectiveness of this approach Three high-speed linearmovements along the x y and z axis have been imposed

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1153

by the teacher Figure 14 shows a comparison between thetool centre point experimental velocities (solid lines) and thevelocities computed in simulation with a set of impedancefilters characterised by a constant friction coefficient (dottedlines) The dashed lines point out the limits at plusmn250 mms

The time history of the velocity demonstrates thatthe introduction of a nonlinear friction coefficient whichincreases as the tool centre point velocity approaches thesafety limit (Fig 15) can effectively impose a smoothconstraint on these velocities

5 ConclusionsAn implementation of the walk-through programming modeusing the admittance control approach has been described inthis paper

All the issues involved from the implementation of theadmittance control on an industrial robot controller to thesafety aspects due to the presence of the operator in therobotrsquos working envelope have been carefully considered Inparticular two safety strategies which exploit the admittancecontroller in order to keep the robot Cartesian velocity belowa safety threshold and to virtually separate the human bodyfrom the robot workspace have been investigated

A set of experiments completes the paper demonstratingthe behaviour of the walk-through programming mode andthe effects of the safety functionalities

AcknowledgementsThe research leading to these results has received fundingfrom the European Communityrsquos Seventh Framework Pro-gramme FP72007-2013mdashChallenge 2 Cognitive SystemsInteraction Roboticsmdashunder grant agreement No 231143ECHORD (Experiment FIDELIO)

References1 COMEDI ldquoLinux Control and Measurement Device

Interfacerdquo available at httpwwwcomediorg2 ldquoRTAI ndash Real Time Application Interfacerdquo available at

httpwwwrtaiorg3 ldquoRTnet ndash Hard Real-Time Networking for Real-Time Linuxrdquo

available at httpwwwrtnetorg4 Comau Robotics instruction handbook C4G OPEN System

Software Rel 333 20115 ISO 10218-12011 Robots for industrial environments

Safety requirementsndashPart 1 Robot (European Committee forStandardization 2011)

6 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing using Compliant ControlrdquoProceedings of the IEEE International Conference on Roboticsand Automation Minneapolis MN (Apr 1996) pp 1000ndash1005

7 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Reflexive MotionControlrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Albuquerque NM (Apr 1997)pp 2326ndash2331

8 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Variable ComplianceControlrdquo Proceedings of the IEEE International Conference

on Robotics and Automation Albuquerque NM (Apr 1997)pp 895ndash900

9 A Albu-Schaeffer and G Hirzinger ldquoCartesian ImpedanceControl Techniques for Torque Controlled Light-WeightRobotsrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Washington DC USA (2002)pp 657ndash663

10 H Ang W Lin and S-Y Lim ldquoA walk-through programmedrobot for welding in shipyardsrdquo Ind Robots 26(5) 377ndash388(1999)

11 M H Ang Jr and L S Yong ldquoAn Industrial Application ofControl of Dynamic Behavior of Robots ndash A Walk-ThroughProgrammed Welding Robotrdquo Proceedings of the IEEEInternational Conference on Robotics and Automation SanFrancisco CA USA (Apr 2000) pp 2352ndash2357

12 G Ferretti G Magnani and P Rocco ldquoAssigning VirtualTool Dynamics to an Industrial Robot Through an AdmittanceControllerrdquo Proceedings of the IEEE International Conferenceon Advanced Robotics Munich Bavaria (Jun 2009) pp 1ndash6

13 M Frigola J Poyatos A Casals and J Amat ldquoImprovingRobot Programming Flexibility Through Physical Human-Robot Interactionrdquo IROS Workshop on Robot Programmingby Demonstration Las Vegas USA (Oct 2003) pp 1ndash8

14 G Grunwald G Schreiber A Albu-Schaffer and G HirzingerldquoProgramming by touch The different way of human-robotinteractionrdquo IEEE Trans Ind Electron 50(4) 659ndash666 (2003)

15 A K Gupta and S K Arora Industrial Automation andRobotics (Laxmi Publications Daryaganj New Delhi 2007)

16 R Ikeura and H Inooka ldquoVariable Impedance Control of aRobot for Cooperation with a Humanrdquo Proceedings of theIEEE International Conference on Robotics and AutomationNagoya Japan (1995) pp 3097ndash3102

17 M Jakopec S J Harris F Rodriguez y Baena P GomesJ Cobb and B L Davies ldquoThe first clinical application of aldquohands-onrdquo robotic knee surgery systemrdquo Comput Aided Surg6(6) 329ndash339 (2001)

18 R Kumar P Berkelman P Gupta A Barnes P S JensenL L Whitcomb and R H Taylor ldquoPreliminary Experimentsin Cooperative HumanRobot Force Control for Robot AssistedMicrosurgical Manipulationrdquo Proceedings of the IEEE Inter-national Conference on Robotics and Automation SanFrancisco CA (Apr 2000) pp 610ndash617

19 Occupational Safety and Health Administration (OSHA)OSHA Technical Manual Industrial robots and robotsystem safety (Section IV Chapter 4) US Department ofLabor Occupational Safety amp Health Administration NWWashington DC

20 T Ortmaier H Weiss U Hagn M Grebenstein M NicklA Albu-Schaffer C Ott S Jorg R Konietschke L Le-Tienand G Hirzinger ldquoA Hands-on-Robot for Accurate Placementof Pedicle Screwsrdquo Proceedings of the IEEE InternationalConference on Robotics and Automation Orlando FL (May2006) pp 4179ndash4186

21 C Powell ldquoCase study Kuntz Electroplating automated wheelpolishing systemrdquo Robotics (available at httpwwwroboticsorg) (2002)

22 ABB Robotics FC Programming Handle (2010)23 A Tellaeche R Arana M A Perez and I Maurtua ldquoAccurate

Manual Guided Robot Programming and Trajectory Correctionusing 3D Vision by Laser Triangulationrdquo Workshop IndustryndashAcademia Collaboration in the ECHORD Project A Bridge forEuropean Robotics Innovation IEEE International Conferenceon Robotics and Automation St Paul Minnesota USA (2012)pp 385ndash394

24 T Tsumugiwa R Yokogawa and K Yoshida ldquoStabilityAnalysis for Impedance Control of Robot for Human-RobotCooperative Task Systemrdquo Proceedings of the IEEERSJInternational Conference on Intelligent Robots and SystemsSendai Japan (Oct 2004) pp 3883ndash3888

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Page 2: Walk-through programming for robotic manipulators based on … · 2017. 2. 8. · COMAU robots. Though this device is very intuitive and can be placed on the robot, or attached to

1144 Walk-through programming for robotic manipulators

to the operator the impression to move the robot as movingthe tool used to accomplish the task On the other handin refs [10 11] the authors propose a walk-through teachingmethod for a welding process that is very similar to the onediscussed here The present paper in addition proposes anonlinear model of the dynamics of the virtual tool givingto the reader the opportunity to choose between this modeland a set of linear admittance filters Furthermore in refs[9 14] an advanced technique for programming by touchis presented This methodology however is conceived for aredundant manipulator with torque sensors at the joints andcannot be easily applied to an industrial manipulator with aforcetorque sensor at the end-effector

Concerning the industrial state-of-the-art two productsexist One is the so-called manual guidance device23 a lowcost programming by demonstration device based on anoptical mouse with 6 dof that can be used to programCOMAU robots Though this device is very intuitive andcan be placed on the robot or attached to the teach pendantor even kept in the teacherrsquos hands it does not allow for aphysical humanndashrobot interaction thus being conceptuallydifferent from the solution proposed in this paper

The other one is the ABB programming handle22 a devicebased on a forcetorque sensor and two handles that can beused to move the robot end-effector Though this approachseems to be very similar to the one proposed here the ABBproduct does not consider the concept of virtual tool and itseems that it does not allow the execution of complex pathscombining translations and rotations at the same time

Experimental evidence of the good performance andversatility of the approach is given with reference to a set-upcomposed of a COMAU Smart Six industrial robot equippedwith an ATI forcetorque sensor

The paper is organised as follows In Section 2 the motionequations of the virtual tool are introduced Section 3 coversall the aspects related to the development of the walk-throughprogramming technique in an industrial scenario Section 4describes the robotic cell set-up and shows the results of anexperimental validation of the proposed control approach

2 Virtual Tool DynamicsIn the walk-through programming the human operator playsthe role of a teacher that physically walks the robot throughthe desired path Furthermore in an industrial applicationlike metal finishing or painting operations the physicalinteraction between the human operator and the robot shouldbe conceived in such a way that the teacher has the impressionto grab a real tool eg a deburring tool or a spray gun insteadof the robot end-effector

The role of the control system is thus to accommodate forthe motion commanded by the teacher mimicking the samedynamic behaviour of the real tool ie behaving like a virtualtool that exhibits the same mechanical properties of the realtool Considering again an industrial application the robotis equipped with a forcetorque sensor mounted at the end-effector and a handle connected to the sensor The humanoperator grabs the handle in order to transmit the desiredmotion to the manipulator The robot instead controls thehandle trajectory in such a way that the human has the

Fig 1 (Colour online) Frames used to derive the dynamics of thevirtual tool

impression to move an object having the same weight andinertial properties of the real tool instead of the manipulatorFor this reason the name virtual tool is used to refer to theimaginary object whose mechanical properties are the sameas the real tool that is emulated by the robot

The first step towards the development of the walk-throughprogramming technique is thus the derivation of the exactNewtonndashEuler dynamic equations of the virtual tool Sincethere are several bodies involved in the system (robot end-effector forcetorque sensor real tool and virtual tool) it isparticularly important to provide a rigorous and unambiguousdefinition of the frames and vectors needed to define the saiddynamics

Consider Fig 1 where the following frames are reported(x0 y0 z0) the absolute frame (xS yS zS) a frame attachedto the forcetorque sensor (xP yP zP ) a frame attached tothe actual tool with the origin located where the operatorgrabs the tool (xB yB zB) a frame attached to the virtualtool with the origin located in its centre of mass

The dynamic model is written using the followingcoordinates2

rP =⎡⎣xP

yP

zP

⎤⎦ and pP =

⎡⎢⎣

eP0

eP1

eP2

eP3

⎤⎥⎦ (1)

which represent the coordinates of the origin of frame P withrespect to the absolute frame and the relative orientation ofthe same frames respectively

The equations of motion of the virtual tool with respect toframe P can thus be written as

fP = m[aP minus g + εP times rBP + ωP times (ωP times rBP )] (2)

τP = IBεP + ωP times (IBωP ) + rBP times fP (3)

2 Notice that the orientation in (1) is expressed in terms of the fourEuler parameters (unit quaternion) while being redundant thisrepresentation avoids the so-called gimbal lock ie the situationwhen two axes are aligned and the system loses one rotationaldof

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1145

where the following symbols have been introduced m mass of the virtual tool IB inertia tensor of the virtual tool with respect to a frame

B with origin in the centre of mass of the virtual toolexpressed in the absolute frame

g gravity acceleration vector expressed in the absoluteframe

fP τP vectors of the forces and moments respectivelyapplied by the human operator to the actual tool expressedin the absolute frame

aP absolute acceleration of the origin of frame P expressed in the absolute frame

ωP and εP angular velocity and angular acceleration offrame P expressed in the absolute frame

rBP position of the origin of frame B with respect to theorigin of frame P expressed in the absolute frame

Note that in the equations of motion of the virtual tool notranslation or rotational viscous friction has been introducedIn fact considering that the tool moves through the air andthe typical velocity of the human hands is quite low thecontribution of viscous friction is negligible

In Eqs (2)ndash(3) the following kinematic terms have beenintroduced as well the absolute velocity of the origin of frame P expressed

in the absolute frame

vP = drP

dt=

⎡⎣vPx

vPy

vPz

⎤⎦

the absolute acceleration of the origin of frame P expressed in the absolute frame

aP = dvP

dt=

⎡⎣aPx

aPy

aPz

⎤⎦

the angular velocity of frame P expressed in the absoluteframe

ωP = 2

⎡⎣minuseP1 eP0 minuseP3 eP2

minuseP2 eP3 eP0 minuseP1

minuseP3 minuseP2 eP1 eP0

⎤⎦dpP

dt= 2E

dpP

dt

the angular acceleration of frame P expressed in theabsolute frame

εP = 2dEdt

dpP

dt+ 2E

d2pP

dt2

the rotation matrix of frame P with respect to the absoluteframe

RP = 2[nxP nyP nzP ]

where

nxP =⎡⎣ e2

P0 + e2P1 minus 1

2eP1eP2 + eP0eP3

eP1eP3 minus eP0eP2

⎤⎦

nyP =⎡⎣eP1eP2 minus eP0eP3

e2P0 + e2

P2 minus 12

eP2eP3 + eP0eP1

⎤⎦

nzP =⎡⎣eP1eP3 + eP0eP2

eP2eP3 minus eP0eP1

e2P0 + e2

P3 minus 12

⎤⎦

and

e2P0 + e2

P1 + e2P2 + e2

P3 = 1

Note that in Eqs (2)ndash(3) the inertia tensor of the virtualtool IB is time varying as it is expressed with referenceto the absolute frame Alternatively the equations can berewritten by projecting all the quantities onto frame P

attached to the real and thus also to the virtual tool asfollows

P fP = m[P aP minusP g+P εP timesP rBP +P ωP times (

P ωP timesP rBP

)]

(4)P τP = P IB

P εP + P ωP times (P IB

P ωP

) + P rBP times P fP (5)

In this formulation the inertia tensor P IB is used which isnow time invariant

Finally notice that the frame used to command the robotmotion is the sensor frame S Specifically the motion will beassigned by commanding the motion of the origin of frameS with respect to the absolute frame and the rotation matrixof the said frame The following parameters of the real toolare introduced

SrSP position of the origin of frame P with respect to theorigin of frame S expressed in frame S

SRP rotation matrix of frame P with respect to sensorframe S

The position and orientation of frame S are thus readilygiven by

rS = rP minus RP

(SRP

)T SrSP RS = RP

(SRP

)T

3 Walk-Through Programming Using AdmittanceControlIn order to ensure that the robot behaves as the virtualtool in response to the teacherrsquos forces a controller thatenforces the dynamics described by Eqs (4)ndash(5) must bedevised It must be noticed however that Eqs (4)ndash(5) area set of six nonlinear and coupled differential algebraicequations whose integration in the real-time robot controlleris a challenging task Furthermore considering that theteaching phase is characterised by low linear and even lowerangular velocities and accelerations the couplings betweenthe Newton and Euler dynamics can be neglected

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1146 Walk-through programming for robotic manipulators

Fig 2 The position controlled system with the admittance controller

The dynamic equations in (4)ndash(5) can thus be simplifiedas follows

P fP + mP g = mP aP (6)

P τP + P fP times P rBP = P IBP εP (7)

where the inertia tensor P IB has been approximated with adiagonal (constant) matrix

P IB = diag(P IBi

i = 1 3)

We can now state that the relations between the virtual toolposition and orientation and the forces and moments exertedby the teacher are a set of six independent double integratorsThe real-time integration of such unstable system howevercould lead to numerical problems that can be easily avoidedintroducing a dissipative term ie a linear viscous frictionin the linear and rotational motion As explained later thismakes the relations between forcesmoments and velocitiespassive contributing to the system stability and possiblyimproving the precision achievable with the walk-throughprogramming technique

Equations (6)ndash(7) can be then rewritten as

P fP + mP g = mP aP + DtP vP

P τP + P fP times P rBP = P IBP εP + Dr

P ωP

where Dt and Dr are the viscous friction matrix for thetranslational and rotational motion respectively Applyingthe Laplace transform to the previous equations yields

P rP = Lminus1Zminus1

t (s) FP (s)

pP = Lminus1Zminus1

r (s) TP (s)

where

Zminus1t (s) = diag

(1

ms2 + Dti s i = 1 3

)

Zminus1r (s) = diag

(1

P IBis2 + Dri

s i = 1 3

)

are two diagonal matrices of translational and rotationaladmittance filters and

FP (s) = L

P fP + mP g

TP (s) = L

P τP + P fP times P rBP

are vectors of Laplace transforms of the correspondingvariables

31 Admittance control implementation and safety issuesThe easiest way to implement an admittance control strategyon an industrial robot controller is by closing an external loopoutside the position control loops the admittance controllerfed by the measurements of force and moments acquiredby a forcetorque sensor mounted at the end-effector yieldsmodifications to the Cartesian (position and orientation)set-points in order to guarantee the prescribed compliantbehaviour If the industrial controller does not allow todirectly feed the Cartesian positionorientation set-pointsa kinematic inversion has to be added in order to convertthe outputs of the admittance filters into the joint positionset-points

Consider thus the block diagram in Fig 2 the part enclosedin the grey box represents the industrial position controlwhose set-points are updated based on the force measured atthe end-effector The dynamics of the human operator havebeen also represented7 8 as he or she closes a further loopoutside the industrial control that in particular situationscan lead to instability In order to simplify the analysis it issometimes assumed see eg refs [7 8] that the dynamicsof the human operator are relatively slow with respect to thedynamics of the position controlled robot

Assuming anyway that the dynamics of the human arepassive a sensible way to design the admittance filter isto guarantee a passive mapping between sensed forces andresulting velocities on the robot side

Then denoting with rP pP the reference trajectory andassuming the dynamics of the closed-loop position controlledrobot to be sufficiently fast it follows

rP asymp rP minus Zminus1t fP pP asymp pP minus Zminus1

r τP

or

fP asymp Zt (rP minus rP ) τP asymp Zr (pP minus pP )

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1147

which shows that an impedance relation between appliedforces (moments) and position (orientation) errors is at leastapproximately obtained

As far as safety aspects are concerned industrial robotsare designed to work in a highly structured environmentperforming fast and accurate movements in an area thatis rigidly separated by way of safety fences from theareas occupied by humans Robots safety requirements forindustrial environments are regulated by the internationalstandard ISO 10218-15

As already pointed out the walk-through programmingentails important safety issues as the operator is within therobot working envelope with the robot controller energisedIn particular the safety aspects that have to be consideredconcern the ergonomic design and the safe motion of therobot during the humanndashrobot interaction

Considering a single human operator interacting witha single robot the following safety procedure should beenforced

Activation of drive power Drive power has to be turnedon from outside the robot area after checking that the areais not occupied by anyone (as described by general safetyrules)Once the drive power has been activated the operator canstart the walk-through programming

Walk-through programming The operator should grab andactivate a three-position enabling device compliant withthe requirements of Section 583 in ref [5] interlockedwith the safety devices of the cellrobot control as longas he or she holds the device in a centre-enabled positionrobot motion is allowedThe robot motion is commanded by the teacher through theTeach Pendant or the device adopted for the walk-throughprogramming

According to ref [5] the speed of the end-effector mountingflange and of the tool centre point shall not exceed 250 mmsand the device adopted for the walk-through programmingshall be located close to the end-effector

In the next sections two further functionalities which canbe developed exploiting the admittance control frameworkare introduced The former presented in Section 32 usesa variable viscous friction to enhance the motion precisionand to introduce a safety limit on the maximum tool centrepoint velocity The latter described in Section 33 introducesvirtual barriers to separate the human from the robot end-effector

Notice however that these functionalities though usefulto improve the safety in the humanndashrobot interaction cannotin any case replace the safety procedure detailed previouslyIn fact they can only prevent a possible collision occurringat the robot end-effector and they cannot guarantee anyprotection if a failure at the forcetorque sensor occurs

32 Introducing a nonlinear viscous frictionAs explained at the beginning of this section the introductionof a dissipative term in the equations of motion of thevirtual tool makes the relations between forcesmoments andvelocities passive contributing to the system stability

0 10 20 30 40 5050

55

60

65

70

75

80

85

90

95

100

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 3 An example of the variable friction coefficient characterisedby a maximum viscous friction Dmax of 100 Nsm a minimumviscous friction Dmin of 50 Nsm a velocity vmax of 40 mms anda velocity vmin of 10 mms

Furthermore as shown in ref [16] the adoption of avariable friction coefficient can even enhance the motionprecision In fact for fine positioning ie for a motioncharacterised by a low velocity a high damping is beneficialbut for gross motion characterised by a high velocity a lowdamping makes motion easier

In principle this argument holds for the translational androtational motion as well In practice however a grossrotational motion is quite rare For this reason though themethodology presented here is general (ie it can be used forthe translational and rotational viscous friction coefficients)we consider only the case of a variable translational viscousfriction coefficient

To guarantee continuity and differentiability the relationbetween the absolute value of the velocity and the frictioncoefficient is represented by a logistic function as follows

D (|v|) = α1

1 + eα2(|v|minusα3)+ α4 (8)

Using the absolute value of the velocity ensures that velocityvectors having the same magnitude give rise to the samefriction coefficient independently of the direction of thevector In other words the curve representing the relationbetween the friction coefficient D and the velocity v issymmetric with respect to the y axis For this reason in thefollowing we consider only the positive half of this curve

The shape of the positive half (v ge 0) of the logisticfunction can be characterised through the following (Fig 3)coefficients

Dmax and Dmin the maximum and minimum values of thefriction coefficient respectively

vmax and vmin the velocities corresponding to a valueof the friction coefficient of 101Dmin and 99Dmaxrespectively

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1148 Walk-through programming for robotic manipulators

0 50 100 1500

50

100

150

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 4 An example of the variable friction coefficient used toactively enforce safety The curve is characterised by a safetyfriction Dsafe of 150 Nsm a maximum acceptable velocity vsafeof 75 mms and a range of velocities vsafe of 25 mms

0 50 100 150 200 250 300 35050

60

70

80

90

100

110

120

130

140

150

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 5 An example of the variable friction coefficient that aims atimproving the accuracy at low velocity and enforcing safety at highvelocity

Once these four coefficients have been selected the valuesof αi can be determined as follows

α1 = Dmax minus Dmin α3 = vmin + vmax

2

α4 = Dmin

and

α2 = 1

vmax minus α3ln

(100α1 minus α4

α4

)or

α2 = 1

vmin minus α3ln

(α1 + α4

99α1 minus α4

)

where the first relation is obtained imposing D (vmin) =99Dmax the second one imposing D (vmax) = 101Dmin

Since Dt is a diagonal matrix relation (8) is usedto independently determine the value of each friction

coefficient with respect to the corresponding component ofthe translational velocity

The same principle can be used to actively enforce safetyexerting a rapidly increasing friction force as the tool centrepoint velocity approaches a specified velocity safety limit Inthis case the logistic function has the following expression(Fig 4)

D (|v|) = β1

1 + eminusβ2(|v|minusβ3)(9)

and is characterised by vsafe the maximum acceptable tool centre point velocity Dsafe the value of the friction coefficient to be enforced

when the tool centre point velocity exceeds vsafe vsafe the range of velocities around vsafe (from vsafe minus

vsafe to vsafe + vsafe) where the friction coefficient ismonotonously increasing from 0 to Dsafe

The coefficients βi are given by the following relations

β1 = Dsafe β2 = 2

vsafe β3 = vsafe

Finally the two effects previously described can becombined giving rise to the frictionvelocity relation (Fig 5)

D (|v|) = α1

1 + eα2(|v|minusα3)+ α4 + β1 minus α4

1 + eminusβ2(|v|minusβ3)

that allows to improve the motion accuracy at low velocityand to enforce a safety velocity limit at high velocity

33 Introducing virtual safety surfacesA variable friction coefficient allows to enforce a limitationon the maximum tool centre point Cartesian velocity slowingdown the robot motion when the operator exceeds the safetylimit

Besides relating the safety to the robot velocity howeverin many tasks the introduction of a safety relation dependingon the position of the tool centre point is extremelyimportant Considering for example the walk-throughprogramming in the context of metal finishing operationsa virtual safety fence surrounding the robot workstationestablishes a barrier between the human body and the robotworkspace so that only the human arms are within theallowed robotrsquos working envelope

Following this idea another way to enforce safety inthe framework of the admittance control is to introduce avirtual separation between the robot end-effector and thehuman operator through a virtual safety surface The simplestexample of such surface is a virtual wall a plane that reactsto penetration generating a viscoelastic virtual force

Consider the case of a virtual wall characterised by a unitvector nw being the outer-pointing normal to the plane atpoint pw Assuming that the tool centre point position inthe absolute reference frame is given by vector rT CP thepenetration μ of the tool centre point into the virtual wall canbe determined as follows

μ =

(pw minus rTCP) middot nw if (pw minus rT CP ) middot nw gt 0

0 otherwise

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1149

Fig 6 (Colour online) The Smart Six robot and a detail of the end-effector with the ATI forcetorque sensor

Table I Main specifications of the ATI forcetorque sensor

ATI SI-130-10

Range Fx Fy plusmn130 NRange Fz plusmn400 NRange Tx Ty plusmn10 NmRange Tz plusmn10 NmResolution Fx Fy 120 NResolution Fz 110 NResolution Tx Ty 1400 NmResolution Tz 1400 Nm

The viscoelastic virtual force fvw generated by the wall isthen given by

fvw = (Kwμ + Dwμ)nw

Adding this virtual force to the real forces measured by thesensor allows to prevent as much as possible the robot toolcentre point from entering the space behind the virtual wall

The virtual and real forces are then fed together into theadmittance filter to generate the robot motion

Then with the same approach more complex virtualsurfaces can be introduced Note that however the approachproposed here is limited to a point contact between the virtualwall and the tool centre point and any extension to morecomplex constraints requires further investigation

4 Experimental ResultsThe experimental set-up consists of a robot Smart Six (Fig 6)a 6 dof 6 kg payload industrial manipulator manufacturedby COMAU equipped with the open version of the COMAUC4G controller4 In the open version the C4G acting as anetwork client is linked to a real-time external PC through areal-time ethernet connection based on the RTnet protocol3

The real-time external PC acting as a network server is basedon the RTAI Linux real-time extension2 The two devicescommunicate at a frequency of 500 Hz every 2 ms theindustrial controller sends to the external PC the actual joint

Fig 7 (Colour online) The operator interacting with the robot during a walk-through programming operation

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1150 Walk-through programming for robotic manipulators

0 10 20 30 40 50-50

0

50

Fx [N

]

0 10 20 30 40 50-50

0

50

Fy [N

]

0 10 20 30 40 50-10

0

10

Time [s]

Fz [N

]

(a)

0 10 20 30 40 50-5

0

5

τ x [Nm

]

0 10 20 30 40 50-5

0

5

τ y [Nm

]

0 10 20 30 40 50-2

0

2

Time [s]

τ z [Nm

]

(b)

Fig 8 Forces (a) and torques (b) expressed in the absolute frameduring a walk-through programming experiment

positions and velocities and the reference motor currentsand the external PC replies sending the reference jointpositions and velocities

An ATI 6-axis wrist forcetorque sensor (see Fig 6 andTable 33 for further details) is fitted to the arm end-effectorand linked to the PC through a DAQ board that is managedby the RTAI system thanks to a real-time extension of theComedi drivers1 The analogue voltages generated by thedevice are acquired by a dedicated real-time thread that runsperiodically at a frequency of 10 kHz This thread is also incharge of reducing the effect of measurement noise filteringeach channel with a 10th-order moving average filter

The easiest way to implement the walk-throughprogramming technique on an industrial robot controlleris by enforcing the dynamics of the virtual tool throughan admittance controller as described in Section 31 Anexternal loop is then closed outside the position control loopsin the industrial controller (Fig 2) the admittance controllerfed by the measurements of forces and moments acquired by

0 10 20 30 40 50-500

0

500

v x [mm

s]

0 10 20 30 40 50-500

0

500

v y [mm

s]

0 10 20 30 40 50-100

0

100

Time [s]

v z [mm

s]

(a)

0 10 20 30 40 50-500

0

500

ωx [m

rad

s]

0 10 20 30 40 50-500

0

500

ωy [m

rad

s]

0 10 20 30 40 50-100

0

100

Time [s]

ωz [m

rad

s]

(b)

Fig 9 The virtual tool linear (a) and angular (b) velocitiesexpressed in the absolute frame during a walk-throughprogramming experiment

a forcetorque sensor mounted on the end-effector yieldsmodifications to the joint position set-points in order toguarantee the prescribed compliant behaviour

Furthermore in order to fulfil all the safety requirementsdiscussed in Section 31 a set of safety constraints isintroduced

a virtual force proportional to the tool centre pointCartesian velocity by way of a nonlinear viscous frictioncoefficient that rapidly increases as the velocity approachesthe value of 250 mms is superimposed to the forcesmeasured by the forcetorque sensor (this force preventsthe human operator from exceeding the maximum velocityprescribed by the safety requirements for the teachingphase)

three virtual walls surrounding the workstation at thefront left and right side generate viscoelastic virtual forcesproportional to the penetration that are superimposed tothe forces measured by the forcetorque sensor (theseforces prevent the robot from exiting the predefined

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1151

(a) Tool trajectory

0 10 20 30 40 500

1

2

Err

or x

[mm

]

0 10 20 30 40 500

05

1

Err

or y

[mm

]

0 10 20 30 40 500

05

1

Err

or z

[mm

]

Time [s]

(b) Position errors

Fig 10 A comparison between the virtual tool experimentalpositions and the virtual tool trajectory obtained integrating thenonlinear motion equations in (4) and (5)

working area avoiding as much as possible a collisionbetween the robot and the human body)

A preliminary experiment shows the behaviour of thesystem in the absence of any safety constraint (Fig 7)It aims at comparing the trajectory executed by the robotemulating a spherical mass as the virtual tool and the onegenerated by a simulator that integrates the virtual toolmotion equations (4)ndash(5)

In this experiment the teacher walks the end-effectoraround a workstation a table of 40 times 80 cm length and 40 cmheight placed in front of the robot at 50 cm from the robotbase The virtual tool was given the mechanical propertiesof a sphere of 50 kg of mass and 5 cm of radius with aconstant viscous friction coefficient of 50 Nsm along eachtranslational direction and 10 Nmsrad along each rotationaldirection

Figures 8 and 9 show the forces and moments (expressedin the absolute frame) and the corresponding virtual toollinear and angular velocities (again expressed in the absolute

Fig 11 (Colour online) The experimental set-up with two examplesof the virtual walls

075 08 085 09 095 1 105 11 115-05

-04

-03

-02

-01

0

01

02

03

04

05

x [m]

y [m

]

Fig 12 The tool centre point trajectory in the xy plane (solid line)and the projection of the virtual walls on the xy plane (dashndashdottedline)

frame) These plots are useful to better understand the actionapplied by the operator on the robot end-effector and thecorresponding motion of the virtual tool which has thenbeen compared with the actual motion of the end-effector

Figure 10 shows such comparison between the trajectorywalked by the robot and the trajectory obtained integratingthe motion equations (4)ndash(5) fed by the forces and torquesmeasured during the experiment

Notice that the walk-through programming experimentdepicted here is characterised by several movementsinvolving tool position and orientation (Fig 10a) Thoughthe accelerations exerted by the teacher are sometimes evenlarger than the ones applied by an actual human operatorduring a teaching operation the robot always smoothlyaccommodates for the teacherrsquos commands

In any case Fig 10(b) clearly shows that the admittancefilters though simple and linear are adequate to describe themotion of the virtual tool In fact considering that the aimof the walk-through programming technique is to give the

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1152 Walk-through programming for robotic manipulators

0 2 4 6 8 10 12 14 1605

1

15

x [m

]

0 2 4 6 8 10 12 14 160

5

10

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v x [mm

s]

Time [s]

(a) x coordinate

0 2 4 6 8 10 12 14 16-05

0

05

y [m

]

0 2 4 6 8 10 12 14 160

20

40

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v y [mm

s]

Time [s]

(b) y coordinate

Fig 13 Time history of the xy coordinates limit imposed by thevirtual wall on the xy coordinates (dotted line) wall penetration μand tool centre point velocity along the xy directions

teacher the impression of moving the real tool instead of arobot an error in the range of few millimetres is acceptable

Another set of experiments aims at showing theeffectiveness of the safety constraints introduced inSections 32 and 33

To prevent as much as possible dangerous situations themotion of the robot has been confined to a box that includesthe workstation (Fig 11) Three virtual walls have beendefined one in front of the robot 11 m far from the robotbase and two at the left and right sides respectively each at adistance of 04 m from the robot base All these virtual wallsreact to a penetration of the robot end-effector generatinga viscoelastic virtual force characterised by a stiffness K of 5000 Nm and a damping D of 1000 Nsm For safetyreasons these virtual forces are limited to a maximum valueof 50 N

Figure 12 shows the projection of the virtual walls onthe ground plane (xy plane) together with the end-effectortrajectory the teacher drives the robot through a square that

0 5 10 15 20minus2000

0

2000

v x [mm

s]

0 5 10 15 20minus1000

0

1000

v y [mm

s]

0 5 10 15 20minus2000

0

2000

Time [s]

v z [mm

s]

Fig 14 An example of the effect of the variable friction coefficient(the dotted lines represent the velocity obtained simulating a set ofimpedance filters with constant friction) in keeping the tool centrepoint velocity below the safety limit of 250 mms (shown in thefigure by the dashed lines)

0 5 10 15 200

500

Dx [N

sm

]

0 5 10 15 200

200

400

Dy [N

sm

]

0 5 10 15 200

500

Time [s]

Dz [N

sm

]

Fig 15 Time history of the experimental friction coefficient appliedto limit the tool centre point velocity to 250 mms

touches all the three walls from right to left Figure 13 showsin detail the time history of the x and y coordinates and thetime instants at which a penetration in the virtual wall occursNote that when this happens the tool centre point velocityis almost instantaneously reduced so as to decrease as muchas possible the energy associated with the robot in case of animpact

Another way to enforce safety as described in Section 32relies on the introduction of a nonlinear viscous frictioncoefficient that forces the teacher to keep the tool centre pointvelocity below the safety limit of 250 mms Following thisrequirement relation (9) has been parameterised consideringa maximum velocity vsafe of 250 mms a maximum valueof the friction coefficient Dsafe of 800 Nsm and a rangevsafe of 001 ms

An experiment has been performed to show theeffectiveness of this approach Three high-speed linearmovements along the x y and z axis have been imposed

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1153

by the teacher Figure 14 shows a comparison between thetool centre point experimental velocities (solid lines) and thevelocities computed in simulation with a set of impedancefilters characterised by a constant friction coefficient (dottedlines) The dashed lines point out the limits at plusmn250 mms

The time history of the velocity demonstrates thatthe introduction of a nonlinear friction coefficient whichincreases as the tool centre point velocity approaches thesafety limit (Fig 15) can effectively impose a smoothconstraint on these velocities

5 ConclusionsAn implementation of the walk-through programming modeusing the admittance control approach has been described inthis paper

All the issues involved from the implementation of theadmittance control on an industrial robot controller to thesafety aspects due to the presence of the operator in therobotrsquos working envelope have been carefully considered Inparticular two safety strategies which exploit the admittancecontroller in order to keep the robot Cartesian velocity belowa safety threshold and to virtually separate the human bodyfrom the robot workspace have been investigated

A set of experiments completes the paper demonstratingthe behaviour of the walk-through programming mode andthe effects of the safety functionalities

AcknowledgementsThe research leading to these results has received fundingfrom the European Communityrsquos Seventh Framework Pro-gramme FP72007-2013mdashChallenge 2 Cognitive SystemsInteraction Roboticsmdashunder grant agreement No 231143ECHORD (Experiment FIDELIO)

References1 COMEDI ldquoLinux Control and Measurement Device

Interfacerdquo available at httpwwwcomediorg2 ldquoRTAI ndash Real Time Application Interfacerdquo available at

httpwwwrtaiorg3 ldquoRTnet ndash Hard Real-Time Networking for Real-Time Linuxrdquo

available at httpwwwrtnetorg4 Comau Robotics instruction handbook C4G OPEN System

Software Rel 333 20115 ISO 10218-12011 Robots for industrial environments

Safety requirementsndashPart 1 Robot (European Committee forStandardization 2011)

6 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing using Compliant ControlrdquoProceedings of the IEEE International Conference on Roboticsand Automation Minneapolis MN (Apr 1996) pp 1000ndash1005

7 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Reflexive MotionControlrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Albuquerque NM (Apr 1997)pp 2326ndash2331

8 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Variable ComplianceControlrdquo Proceedings of the IEEE International Conference

on Robotics and Automation Albuquerque NM (Apr 1997)pp 895ndash900

9 A Albu-Schaeffer and G Hirzinger ldquoCartesian ImpedanceControl Techniques for Torque Controlled Light-WeightRobotsrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Washington DC USA (2002)pp 657ndash663

10 H Ang W Lin and S-Y Lim ldquoA walk-through programmedrobot for welding in shipyardsrdquo Ind Robots 26(5) 377ndash388(1999)

11 M H Ang Jr and L S Yong ldquoAn Industrial Application ofControl of Dynamic Behavior of Robots ndash A Walk-ThroughProgrammed Welding Robotrdquo Proceedings of the IEEEInternational Conference on Robotics and Automation SanFrancisco CA USA (Apr 2000) pp 2352ndash2357

12 G Ferretti G Magnani and P Rocco ldquoAssigning VirtualTool Dynamics to an Industrial Robot Through an AdmittanceControllerrdquo Proceedings of the IEEE International Conferenceon Advanced Robotics Munich Bavaria (Jun 2009) pp 1ndash6

13 M Frigola J Poyatos A Casals and J Amat ldquoImprovingRobot Programming Flexibility Through Physical Human-Robot Interactionrdquo IROS Workshop on Robot Programmingby Demonstration Las Vegas USA (Oct 2003) pp 1ndash8

14 G Grunwald G Schreiber A Albu-Schaffer and G HirzingerldquoProgramming by touch The different way of human-robotinteractionrdquo IEEE Trans Ind Electron 50(4) 659ndash666 (2003)

15 A K Gupta and S K Arora Industrial Automation andRobotics (Laxmi Publications Daryaganj New Delhi 2007)

16 R Ikeura and H Inooka ldquoVariable Impedance Control of aRobot for Cooperation with a Humanrdquo Proceedings of theIEEE International Conference on Robotics and AutomationNagoya Japan (1995) pp 3097ndash3102

17 M Jakopec S J Harris F Rodriguez y Baena P GomesJ Cobb and B L Davies ldquoThe first clinical application of aldquohands-onrdquo robotic knee surgery systemrdquo Comput Aided Surg6(6) 329ndash339 (2001)

18 R Kumar P Berkelman P Gupta A Barnes P S JensenL L Whitcomb and R H Taylor ldquoPreliminary Experimentsin Cooperative HumanRobot Force Control for Robot AssistedMicrosurgical Manipulationrdquo Proceedings of the IEEE Inter-national Conference on Robotics and Automation SanFrancisco CA (Apr 2000) pp 610ndash617

19 Occupational Safety and Health Administration (OSHA)OSHA Technical Manual Industrial robots and robotsystem safety (Section IV Chapter 4) US Department ofLabor Occupational Safety amp Health Administration NWWashington DC

20 T Ortmaier H Weiss U Hagn M Grebenstein M NicklA Albu-Schaffer C Ott S Jorg R Konietschke L Le-Tienand G Hirzinger ldquoA Hands-on-Robot for Accurate Placementof Pedicle Screwsrdquo Proceedings of the IEEE InternationalConference on Robotics and Automation Orlando FL (May2006) pp 4179ndash4186

21 C Powell ldquoCase study Kuntz Electroplating automated wheelpolishing systemrdquo Robotics (available at httpwwwroboticsorg) (2002)

22 ABB Robotics FC Programming Handle (2010)23 A Tellaeche R Arana M A Perez and I Maurtua ldquoAccurate

Manual Guided Robot Programming and Trajectory Correctionusing 3D Vision by Laser Triangulationrdquo Workshop IndustryndashAcademia Collaboration in the ECHORD Project A Bridge forEuropean Robotics Innovation IEEE International Conferenceon Robotics and Automation St Paul Minnesota USA (2012)pp 385ndash394

24 T Tsumugiwa R Yokogawa and K Yoshida ldquoStabilityAnalysis for Impedance Control of Robot for Human-RobotCooperative Task Systemrdquo Proceedings of the IEEERSJInternational Conference on Intelligent Robots and SystemsSendai Japan (Oct 2004) pp 3883ndash3888

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Page 3: Walk-through programming for robotic manipulators based on … · 2017. 2. 8. · COMAU robots. Though this device is very intuitive and can be placed on the robot, or attached to

Walk-through programming for robotic manipulators 1145

where the following symbols have been introduced m mass of the virtual tool IB inertia tensor of the virtual tool with respect to a frame

B with origin in the centre of mass of the virtual toolexpressed in the absolute frame

g gravity acceleration vector expressed in the absoluteframe

fP τP vectors of the forces and moments respectivelyapplied by the human operator to the actual tool expressedin the absolute frame

aP absolute acceleration of the origin of frame P expressed in the absolute frame

ωP and εP angular velocity and angular acceleration offrame P expressed in the absolute frame

rBP position of the origin of frame B with respect to theorigin of frame P expressed in the absolute frame

Note that in the equations of motion of the virtual tool notranslation or rotational viscous friction has been introducedIn fact considering that the tool moves through the air andthe typical velocity of the human hands is quite low thecontribution of viscous friction is negligible

In Eqs (2)ndash(3) the following kinematic terms have beenintroduced as well the absolute velocity of the origin of frame P expressed

in the absolute frame

vP = drP

dt=

⎡⎣vPx

vPy

vPz

⎤⎦

the absolute acceleration of the origin of frame P expressed in the absolute frame

aP = dvP

dt=

⎡⎣aPx

aPy

aPz

⎤⎦

the angular velocity of frame P expressed in the absoluteframe

ωP = 2

⎡⎣minuseP1 eP0 minuseP3 eP2

minuseP2 eP3 eP0 minuseP1

minuseP3 minuseP2 eP1 eP0

⎤⎦dpP

dt= 2E

dpP

dt

the angular acceleration of frame P expressed in theabsolute frame

εP = 2dEdt

dpP

dt+ 2E

d2pP

dt2

the rotation matrix of frame P with respect to the absoluteframe

RP = 2[nxP nyP nzP ]

where

nxP =⎡⎣ e2

P0 + e2P1 minus 1

2eP1eP2 + eP0eP3

eP1eP3 minus eP0eP2

⎤⎦

nyP =⎡⎣eP1eP2 minus eP0eP3

e2P0 + e2

P2 minus 12

eP2eP3 + eP0eP1

⎤⎦

nzP =⎡⎣eP1eP3 + eP0eP2

eP2eP3 minus eP0eP1

e2P0 + e2

P3 minus 12

⎤⎦

and

e2P0 + e2

P1 + e2P2 + e2

P3 = 1

Note that in Eqs (2)ndash(3) the inertia tensor of the virtualtool IB is time varying as it is expressed with referenceto the absolute frame Alternatively the equations can berewritten by projecting all the quantities onto frame P

attached to the real and thus also to the virtual tool asfollows

P fP = m[P aP minusP g+P εP timesP rBP +P ωP times (

P ωP timesP rBP

)]

(4)P τP = P IB

P εP + P ωP times (P IB

P ωP

) + P rBP times P fP (5)

In this formulation the inertia tensor P IB is used which isnow time invariant

Finally notice that the frame used to command the robotmotion is the sensor frame S Specifically the motion will beassigned by commanding the motion of the origin of frameS with respect to the absolute frame and the rotation matrixof the said frame The following parameters of the real toolare introduced

SrSP position of the origin of frame P with respect to theorigin of frame S expressed in frame S

SRP rotation matrix of frame P with respect to sensorframe S

The position and orientation of frame S are thus readilygiven by

rS = rP minus RP

(SRP

)T SrSP RS = RP

(SRP

)T

3 Walk-Through Programming Using AdmittanceControlIn order to ensure that the robot behaves as the virtualtool in response to the teacherrsquos forces a controller thatenforces the dynamics described by Eqs (4)ndash(5) must bedevised It must be noticed however that Eqs (4)ndash(5) area set of six nonlinear and coupled differential algebraicequations whose integration in the real-time robot controlleris a challenging task Furthermore considering that theteaching phase is characterised by low linear and even lowerangular velocities and accelerations the couplings betweenthe Newton and Euler dynamics can be neglected

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1146 Walk-through programming for robotic manipulators

Fig 2 The position controlled system with the admittance controller

The dynamic equations in (4)ndash(5) can thus be simplifiedas follows

P fP + mP g = mP aP (6)

P τP + P fP times P rBP = P IBP εP (7)

where the inertia tensor P IB has been approximated with adiagonal (constant) matrix

P IB = diag(P IBi

i = 1 3)

We can now state that the relations between the virtual toolposition and orientation and the forces and moments exertedby the teacher are a set of six independent double integratorsThe real-time integration of such unstable system howevercould lead to numerical problems that can be easily avoidedintroducing a dissipative term ie a linear viscous frictionin the linear and rotational motion As explained later thismakes the relations between forcesmoments and velocitiespassive contributing to the system stability and possiblyimproving the precision achievable with the walk-throughprogramming technique

Equations (6)ndash(7) can be then rewritten as

P fP + mP g = mP aP + DtP vP

P τP + P fP times P rBP = P IBP εP + Dr

P ωP

where Dt and Dr are the viscous friction matrix for thetranslational and rotational motion respectively Applyingthe Laplace transform to the previous equations yields

P rP = Lminus1Zminus1

t (s) FP (s)

pP = Lminus1Zminus1

r (s) TP (s)

where

Zminus1t (s) = diag

(1

ms2 + Dti s i = 1 3

)

Zminus1r (s) = diag

(1

P IBis2 + Dri

s i = 1 3

)

are two diagonal matrices of translational and rotationaladmittance filters and

FP (s) = L

P fP + mP g

TP (s) = L

P τP + P fP times P rBP

are vectors of Laplace transforms of the correspondingvariables

31 Admittance control implementation and safety issuesThe easiest way to implement an admittance control strategyon an industrial robot controller is by closing an external loopoutside the position control loops the admittance controllerfed by the measurements of force and moments acquiredby a forcetorque sensor mounted at the end-effector yieldsmodifications to the Cartesian (position and orientation)set-points in order to guarantee the prescribed compliantbehaviour If the industrial controller does not allow todirectly feed the Cartesian positionorientation set-pointsa kinematic inversion has to be added in order to convertthe outputs of the admittance filters into the joint positionset-points

Consider thus the block diagram in Fig 2 the part enclosedin the grey box represents the industrial position controlwhose set-points are updated based on the force measured atthe end-effector The dynamics of the human operator havebeen also represented7 8 as he or she closes a further loopoutside the industrial control that in particular situationscan lead to instability In order to simplify the analysis it issometimes assumed see eg refs [7 8] that the dynamicsof the human operator are relatively slow with respect to thedynamics of the position controlled robot

Assuming anyway that the dynamics of the human arepassive a sensible way to design the admittance filter isto guarantee a passive mapping between sensed forces andresulting velocities on the robot side

Then denoting with rP pP the reference trajectory andassuming the dynamics of the closed-loop position controlledrobot to be sufficiently fast it follows

rP asymp rP minus Zminus1t fP pP asymp pP minus Zminus1

r τP

or

fP asymp Zt (rP minus rP ) τP asymp Zr (pP minus pP )

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1147

which shows that an impedance relation between appliedforces (moments) and position (orientation) errors is at leastapproximately obtained

As far as safety aspects are concerned industrial robotsare designed to work in a highly structured environmentperforming fast and accurate movements in an area thatis rigidly separated by way of safety fences from theareas occupied by humans Robots safety requirements forindustrial environments are regulated by the internationalstandard ISO 10218-15

As already pointed out the walk-through programmingentails important safety issues as the operator is within therobot working envelope with the robot controller energisedIn particular the safety aspects that have to be consideredconcern the ergonomic design and the safe motion of therobot during the humanndashrobot interaction

Considering a single human operator interacting witha single robot the following safety procedure should beenforced

Activation of drive power Drive power has to be turnedon from outside the robot area after checking that the areais not occupied by anyone (as described by general safetyrules)Once the drive power has been activated the operator canstart the walk-through programming

Walk-through programming The operator should grab andactivate a three-position enabling device compliant withthe requirements of Section 583 in ref [5] interlockedwith the safety devices of the cellrobot control as longas he or she holds the device in a centre-enabled positionrobot motion is allowedThe robot motion is commanded by the teacher through theTeach Pendant or the device adopted for the walk-throughprogramming

According to ref [5] the speed of the end-effector mountingflange and of the tool centre point shall not exceed 250 mmsand the device adopted for the walk-through programmingshall be located close to the end-effector

In the next sections two further functionalities which canbe developed exploiting the admittance control frameworkare introduced The former presented in Section 32 usesa variable viscous friction to enhance the motion precisionand to introduce a safety limit on the maximum tool centrepoint velocity The latter described in Section 33 introducesvirtual barriers to separate the human from the robot end-effector

Notice however that these functionalities though usefulto improve the safety in the humanndashrobot interaction cannotin any case replace the safety procedure detailed previouslyIn fact they can only prevent a possible collision occurringat the robot end-effector and they cannot guarantee anyprotection if a failure at the forcetorque sensor occurs

32 Introducing a nonlinear viscous frictionAs explained at the beginning of this section the introductionof a dissipative term in the equations of motion of thevirtual tool makes the relations between forcesmoments andvelocities passive contributing to the system stability

0 10 20 30 40 5050

55

60

65

70

75

80

85

90

95

100

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 3 An example of the variable friction coefficient characterisedby a maximum viscous friction Dmax of 100 Nsm a minimumviscous friction Dmin of 50 Nsm a velocity vmax of 40 mms anda velocity vmin of 10 mms

Furthermore as shown in ref [16] the adoption of avariable friction coefficient can even enhance the motionprecision In fact for fine positioning ie for a motioncharacterised by a low velocity a high damping is beneficialbut for gross motion characterised by a high velocity a lowdamping makes motion easier

In principle this argument holds for the translational androtational motion as well In practice however a grossrotational motion is quite rare For this reason though themethodology presented here is general (ie it can be used forthe translational and rotational viscous friction coefficients)we consider only the case of a variable translational viscousfriction coefficient

To guarantee continuity and differentiability the relationbetween the absolute value of the velocity and the frictioncoefficient is represented by a logistic function as follows

D (|v|) = α1

1 + eα2(|v|minusα3)+ α4 (8)

Using the absolute value of the velocity ensures that velocityvectors having the same magnitude give rise to the samefriction coefficient independently of the direction of thevector In other words the curve representing the relationbetween the friction coefficient D and the velocity v issymmetric with respect to the y axis For this reason in thefollowing we consider only the positive half of this curve

The shape of the positive half (v ge 0) of the logisticfunction can be characterised through the following (Fig 3)coefficients

Dmax and Dmin the maximum and minimum values of thefriction coefficient respectively

vmax and vmin the velocities corresponding to a valueof the friction coefficient of 101Dmin and 99Dmaxrespectively

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1148 Walk-through programming for robotic manipulators

0 50 100 1500

50

100

150

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 4 An example of the variable friction coefficient used toactively enforce safety The curve is characterised by a safetyfriction Dsafe of 150 Nsm a maximum acceptable velocity vsafeof 75 mms and a range of velocities vsafe of 25 mms

0 50 100 150 200 250 300 35050

60

70

80

90

100

110

120

130

140

150

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 5 An example of the variable friction coefficient that aims atimproving the accuracy at low velocity and enforcing safety at highvelocity

Once these four coefficients have been selected the valuesof αi can be determined as follows

α1 = Dmax minus Dmin α3 = vmin + vmax

2

α4 = Dmin

and

α2 = 1

vmax minus α3ln

(100α1 minus α4

α4

)or

α2 = 1

vmin minus α3ln

(α1 + α4

99α1 minus α4

)

where the first relation is obtained imposing D (vmin) =99Dmax the second one imposing D (vmax) = 101Dmin

Since Dt is a diagonal matrix relation (8) is usedto independently determine the value of each friction

coefficient with respect to the corresponding component ofthe translational velocity

The same principle can be used to actively enforce safetyexerting a rapidly increasing friction force as the tool centrepoint velocity approaches a specified velocity safety limit Inthis case the logistic function has the following expression(Fig 4)

D (|v|) = β1

1 + eminusβ2(|v|minusβ3)(9)

and is characterised by vsafe the maximum acceptable tool centre point velocity Dsafe the value of the friction coefficient to be enforced

when the tool centre point velocity exceeds vsafe vsafe the range of velocities around vsafe (from vsafe minus

vsafe to vsafe + vsafe) where the friction coefficient ismonotonously increasing from 0 to Dsafe

The coefficients βi are given by the following relations

β1 = Dsafe β2 = 2

vsafe β3 = vsafe

Finally the two effects previously described can becombined giving rise to the frictionvelocity relation (Fig 5)

D (|v|) = α1

1 + eα2(|v|minusα3)+ α4 + β1 minus α4

1 + eminusβ2(|v|minusβ3)

that allows to improve the motion accuracy at low velocityand to enforce a safety velocity limit at high velocity

33 Introducing virtual safety surfacesA variable friction coefficient allows to enforce a limitationon the maximum tool centre point Cartesian velocity slowingdown the robot motion when the operator exceeds the safetylimit

Besides relating the safety to the robot velocity howeverin many tasks the introduction of a safety relation dependingon the position of the tool centre point is extremelyimportant Considering for example the walk-throughprogramming in the context of metal finishing operationsa virtual safety fence surrounding the robot workstationestablishes a barrier between the human body and the robotworkspace so that only the human arms are within theallowed robotrsquos working envelope

Following this idea another way to enforce safety inthe framework of the admittance control is to introduce avirtual separation between the robot end-effector and thehuman operator through a virtual safety surface The simplestexample of such surface is a virtual wall a plane that reactsto penetration generating a viscoelastic virtual force

Consider the case of a virtual wall characterised by a unitvector nw being the outer-pointing normal to the plane atpoint pw Assuming that the tool centre point position inthe absolute reference frame is given by vector rT CP thepenetration μ of the tool centre point into the virtual wall canbe determined as follows

μ =

(pw minus rTCP) middot nw if (pw minus rT CP ) middot nw gt 0

0 otherwise

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1149

Fig 6 (Colour online) The Smart Six robot and a detail of the end-effector with the ATI forcetorque sensor

Table I Main specifications of the ATI forcetorque sensor

ATI SI-130-10

Range Fx Fy plusmn130 NRange Fz plusmn400 NRange Tx Ty plusmn10 NmRange Tz plusmn10 NmResolution Fx Fy 120 NResolution Fz 110 NResolution Tx Ty 1400 NmResolution Tz 1400 Nm

The viscoelastic virtual force fvw generated by the wall isthen given by

fvw = (Kwμ + Dwμ)nw

Adding this virtual force to the real forces measured by thesensor allows to prevent as much as possible the robot toolcentre point from entering the space behind the virtual wall

The virtual and real forces are then fed together into theadmittance filter to generate the robot motion

Then with the same approach more complex virtualsurfaces can be introduced Note that however the approachproposed here is limited to a point contact between the virtualwall and the tool centre point and any extension to morecomplex constraints requires further investigation

4 Experimental ResultsThe experimental set-up consists of a robot Smart Six (Fig 6)a 6 dof 6 kg payload industrial manipulator manufacturedby COMAU equipped with the open version of the COMAUC4G controller4 In the open version the C4G acting as anetwork client is linked to a real-time external PC through areal-time ethernet connection based on the RTnet protocol3

The real-time external PC acting as a network server is basedon the RTAI Linux real-time extension2 The two devicescommunicate at a frequency of 500 Hz every 2 ms theindustrial controller sends to the external PC the actual joint

Fig 7 (Colour online) The operator interacting with the robot during a walk-through programming operation

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1150 Walk-through programming for robotic manipulators

0 10 20 30 40 50-50

0

50

Fx [N

]

0 10 20 30 40 50-50

0

50

Fy [N

]

0 10 20 30 40 50-10

0

10

Time [s]

Fz [N

]

(a)

0 10 20 30 40 50-5

0

5

τ x [Nm

]

0 10 20 30 40 50-5

0

5

τ y [Nm

]

0 10 20 30 40 50-2

0

2

Time [s]

τ z [Nm

]

(b)

Fig 8 Forces (a) and torques (b) expressed in the absolute frameduring a walk-through programming experiment

positions and velocities and the reference motor currentsand the external PC replies sending the reference jointpositions and velocities

An ATI 6-axis wrist forcetorque sensor (see Fig 6 andTable 33 for further details) is fitted to the arm end-effectorand linked to the PC through a DAQ board that is managedby the RTAI system thanks to a real-time extension of theComedi drivers1 The analogue voltages generated by thedevice are acquired by a dedicated real-time thread that runsperiodically at a frequency of 10 kHz This thread is also incharge of reducing the effect of measurement noise filteringeach channel with a 10th-order moving average filter

The easiest way to implement the walk-throughprogramming technique on an industrial robot controlleris by enforcing the dynamics of the virtual tool throughan admittance controller as described in Section 31 Anexternal loop is then closed outside the position control loopsin the industrial controller (Fig 2) the admittance controllerfed by the measurements of forces and moments acquired by

0 10 20 30 40 50-500

0

500

v x [mm

s]

0 10 20 30 40 50-500

0

500

v y [mm

s]

0 10 20 30 40 50-100

0

100

Time [s]

v z [mm

s]

(a)

0 10 20 30 40 50-500

0

500

ωx [m

rad

s]

0 10 20 30 40 50-500

0

500

ωy [m

rad

s]

0 10 20 30 40 50-100

0

100

Time [s]

ωz [m

rad

s]

(b)

Fig 9 The virtual tool linear (a) and angular (b) velocitiesexpressed in the absolute frame during a walk-throughprogramming experiment

a forcetorque sensor mounted on the end-effector yieldsmodifications to the joint position set-points in order toguarantee the prescribed compliant behaviour

Furthermore in order to fulfil all the safety requirementsdiscussed in Section 31 a set of safety constraints isintroduced

a virtual force proportional to the tool centre pointCartesian velocity by way of a nonlinear viscous frictioncoefficient that rapidly increases as the velocity approachesthe value of 250 mms is superimposed to the forcesmeasured by the forcetorque sensor (this force preventsthe human operator from exceeding the maximum velocityprescribed by the safety requirements for the teachingphase)

three virtual walls surrounding the workstation at thefront left and right side generate viscoelastic virtual forcesproportional to the penetration that are superimposed tothe forces measured by the forcetorque sensor (theseforces prevent the robot from exiting the predefined

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1151

(a) Tool trajectory

0 10 20 30 40 500

1

2

Err

or x

[mm

]

0 10 20 30 40 500

05

1

Err

or y

[mm

]

0 10 20 30 40 500

05

1

Err

or z

[mm

]

Time [s]

(b) Position errors

Fig 10 A comparison between the virtual tool experimentalpositions and the virtual tool trajectory obtained integrating thenonlinear motion equations in (4) and (5)

working area avoiding as much as possible a collisionbetween the robot and the human body)

A preliminary experiment shows the behaviour of thesystem in the absence of any safety constraint (Fig 7)It aims at comparing the trajectory executed by the robotemulating a spherical mass as the virtual tool and the onegenerated by a simulator that integrates the virtual toolmotion equations (4)ndash(5)

In this experiment the teacher walks the end-effectoraround a workstation a table of 40 times 80 cm length and 40 cmheight placed in front of the robot at 50 cm from the robotbase The virtual tool was given the mechanical propertiesof a sphere of 50 kg of mass and 5 cm of radius with aconstant viscous friction coefficient of 50 Nsm along eachtranslational direction and 10 Nmsrad along each rotationaldirection

Figures 8 and 9 show the forces and moments (expressedin the absolute frame) and the corresponding virtual toollinear and angular velocities (again expressed in the absolute

Fig 11 (Colour online) The experimental set-up with two examplesof the virtual walls

075 08 085 09 095 1 105 11 115-05

-04

-03

-02

-01

0

01

02

03

04

05

x [m]

y [m

]

Fig 12 The tool centre point trajectory in the xy plane (solid line)and the projection of the virtual walls on the xy plane (dashndashdottedline)

frame) These plots are useful to better understand the actionapplied by the operator on the robot end-effector and thecorresponding motion of the virtual tool which has thenbeen compared with the actual motion of the end-effector

Figure 10 shows such comparison between the trajectorywalked by the robot and the trajectory obtained integratingthe motion equations (4)ndash(5) fed by the forces and torquesmeasured during the experiment

Notice that the walk-through programming experimentdepicted here is characterised by several movementsinvolving tool position and orientation (Fig 10a) Thoughthe accelerations exerted by the teacher are sometimes evenlarger than the ones applied by an actual human operatorduring a teaching operation the robot always smoothlyaccommodates for the teacherrsquos commands

In any case Fig 10(b) clearly shows that the admittancefilters though simple and linear are adequate to describe themotion of the virtual tool In fact considering that the aimof the walk-through programming technique is to give the

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1152 Walk-through programming for robotic manipulators

0 2 4 6 8 10 12 14 1605

1

15

x [m

]

0 2 4 6 8 10 12 14 160

5

10

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v x [mm

s]

Time [s]

(a) x coordinate

0 2 4 6 8 10 12 14 16-05

0

05

y [m

]

0 2 4 6 8 10 12 14 160

20

40

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v y [mm

s]

Time [s]

(b) y coordinate

Fig 13 Time history of the xy coordinates limit imposed by thevirtual wall on the xy coordinates (dotted line) wall penetration μand tool centre point velocity along the xy directions

teacher the impression of moving the real tool instead of arobot an error in the range of few millimetres is acceptable

Another set of experiments aims at showing theeffectiveness of the safety constraints introduced inSections 32 and 33

To prevent as much as possible dangerous situations themotion of the robot has been confined to a box that includesthe workstation (Fig 11) Three virtual walls have beendefined one in front of the robot 11 m far from the robotbase and two at the left and right sides respectively each at adistance of 04 m from the robot base All these virtual wallsreact to a penetration of the robot end-effector generatinga viscoelastic virtual force characterised by a stiffness K of 5000 Nm and a damping D of 1000 Nsm For safetyreasons these virtual forces are limited to a maximum valueof 50 N

Figure 12 shows the projection of the virtual walls onthe ground plane (xy plane) together with the end-effectortrajectory the teacher drives the robot through a square that

0 5 10 15 20minus2000

0

2000

v x [mm

s]

0 5 10 15 20minus1000

0

1000

v y [mm

s]

0 5 10 15 20minus2000

0

2000

Time [s]

v z [mm

s]

Fig 14 An example of the effect of the variable friction coefficient(the dotted lines represent the velocity obtained simulating a set ofimpedance filters with constant friction) in keeping the tool centrepoint velocity below the safety limit of 250 mms (shown in thefigure by the dashed lines)

0 5 10 15 200

500

Dx [N

sm

]

0 5 10 15 200

200

400

Dy [N

sm

]

0 5 10 15 200

500

Time [s]

Dz [N

sm

]

Fig 15 Time history of the experimental friction coefficient appliedto limit the tool centre point velocity to 250 mms

touches all the three walls from right to left Figure 13 showsin detail the time history of the x and y coordinates and thetime instants at which a penetration in the virtual wall occursNote that when this happens the tool centre point velocityis almost instantaneously reduced so as to decrease as muchas possible the energy associated with the robot in case of animpact

Another way to enforce safety as described in Section 32relies on the introduction of a nonlinear viscous frictioncoefficient that forces the teacher to keep the tool centre pointvelocity below the safety limit of 250 mms Following thisrequirement relation (9) has been parameterised consideringa maximum velocity vsafe of 250 mms a maximum valueof the friction coefficient Dsafe of 800 Nsm and a rangevsafe of 001 ms

An experiment has been performed to show theeffectiveness of this approach Three high-speed linearmovements along the x y and z axis have been imposed

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1153

by the teacher Figure 14 shows a comparison between thetool centre point experimental velocities (solid lines) and thevelocities computed in simulation with a set of impedancefilters characterised by a constant friction coefficient (dottedlines) The dashed lines point out the limits at plusmn250 mms

The time history of the velocity demonstrates thatthe introduction of a nonlinear friction coefficient whichincreases as the tool centre point velocity approaches thesafety limit (Fig 15) can effectively impose a smoothconstraint on these velocities

5 ConclusionsAn implementation of the walk-through programming modeusing the admittance control approach has been described inthis paper

All the issues involved from the implementation of theadmittance control on an industrial robot controller to thesafety aspects due to the presence of the operator in therobotrsquos working envelope have been carefully considered Inparticular two safety strategies which exploit the admittancecontroller in order to keep the robot Cartesian velocity belowa safety threshold and to virtually separate the human bodyfrom the robot workspace have been investigated

A set of experiments completes the paper demonstratingthe behaviour of the walk-through programming mode andthe effects of the safety functionalities

AcknowledgementsThe research leading to these results has received fundingfrom the European Communityrsquos Seventh Framework Pro-gramme FP72007-2013mdashChallenge 2 Cognitive SystemsInteraction Roboticsmdashunder grant agreement No 231143ECHORD (Experiment FIDELIO)

References1 COMEDI ldquoLinux Control and Measurement Device

Interfacerdquo available at httpwwwcomediorg2 ldquoRTAI ndash Real Time Application Interfacerdquo available at

httpwwwrtaiorg3 ldquoRTnet ndash Hard Real-Time Networking for Real-Time Linuxrdquo

available at httpwwwrtnetorg4 Comau Robotics instruction handbook C4G OPEN System

Software Rel 333 20115 ISO 10218-12011 Robots for industrial environments

Safety requirementsndashPart 1 Robot (European Committee forStandardization 2011)

6 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing using Compliant ControlrdquoProceedings of the IEEE International Conference on Roboticsand Automation Minneapolis MN (Apr 1996) pp 1000ndash1005

7 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Reflexive MotionControlrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Albuquerque NM (Apr 1997)pp 2326ndash2331

8 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Variable ComplianceControlrdquo Proceedings of the IEEE International Conference

on Robotics and Automation Albuquerque NM (Apr 1997)pp 895ndash900

9 A Albu-Schaeffer and G Hirzinger ldquoCartesian ImpedanceControl Techniques for Torque Controlled Light-WeightRobotsrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Washington DC USA (2002)pp 657ndash663

10 H Ang W Lin and S-Y Lim ldquoA walk-through programmedrobot for welding in shipyardsrdquo Ind Robots 26(5) 377ndash388(1999)

11 M H Ang Jr and L S Yong ldquoAn Industrial Application ofControl of Dynamic Behavior of Robots ndash A Walk-ThroughProgrammed Welding Robotrdquo Proceedings of the IEEEInternational Conference on Robotics and Automation SanFrancisco CA USA (Apr 2000) pp 2352ndash2357

12 G Ferretti G Magnani and P Rocco ldquoAssigning VirtualTool Dynamics to an Industrial Robot Through an AdmittanceControllerrdquo Proceedings of the IEEE International Conferenceon Advanced Robotics Munich Bavaria (Jun 2009) pp 1ndash6

13 M Frigola J Poyatos A Casals and J Amat ldquoImprovingRobot Programming Flexibility Through Physical Human-Robot Interactionrdquo IROS Workshop on Robot Programmingby Demonstration Las Vegas USA (Oct 2003) pp 1ndash8

14 G Grunwald G Schreiber A Albu-Schaffer and G HirzingerldquoProgramming by touch The different way of human-robotinteractionrdquo IEEE Trans Ind Electron 50(4) 659ndash666 (2003)

15 A K Gupta and S K Arora Industrial Automation andRobotics (Laxmi Publications Daryaganj New Delhi 2007)

16 R Ikeura and H Inooka ldquoVariable Impedance Control of aRobot for Cooperation with a Humanrdquo Proceedings of theIEEE International Conference on Robotics and AutomationNagoya Japan (1995) pp 3097ndash3102

17 M Jakopec S J Harris F Rodriguez y Baena P GomesJ Cobb and B L Davies ldquoThe first clinical application of aldquohands-onrdquo robotic knee surgery systemrdquo Comput Aided Surg6(6) 329ndash339 (2001)

18 R Kumar P Berkelman P Gupta A Barnes P S JensenL L Whitcomb and R H Taylor ldquoPreliminary Experimentsin Cooperative HumanRobot Force Control for Robot AssistedMicrosurgical Manipulationrdquo Proceedings of the IEEE Inter-national Conference on Robotics and Automation SanFrancisco CA (Apr 2000) pp 610ndash617

19 Occupational Safety and Health Administration (OSHA)OSHA Technical Manual Industrial robots and robotsystem safety (Section IV Chapter 4) US Department ofLabor Occupational Safety amp Health Administration NWWashington DC

20 T Ortmaier H Weiss U Hagn M Grebenstein M NicklA Albu-Schaffer C Ott S Jorg R Konietschke L Le-Tienand G Hirzinger ldquoA Hands-on-Robot for Accurate Placementof Pedicle Screwsrdquo Proceedings of the IEEE InternationalConference on Robotics and Automation Orlando FL (May2006) pp 4179ndash4186

21 C Powell ldquoCase study Kuntz Electroplating automated wheelpolishing systemrdquo Robotics (available at httpwwwroboticsorg) (2002)

22 ABB Robotics FC Programming Handle (2010)23 A Tellaeche R Arana M A Perez and I Maurtua ldquoAccurate

Manual Guided Robot Programming and Trajectory Correctionusing 3D Vision by Laser Triangulationrdquo Workshop IndustryndashAcademia Collaboration in the ECHORD Project A Bridge forEuropean Robotics Innovation IEEE International Conferenceon Robotics and Automation St Paul Minnesota USA (2012)pp 385ndash394

24 T Tsumugiwa R Yokogawa and K Yoshida ldquoStabilityAnalysis for Impedance Control of Robot for Human-RobotCooperative Task Systemrdquo Proceedings of the IEEERSJInternational Conference on Intelligent Robots and SystemsSendai Japan (Oct 2004) pp 3883ndash3888

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Page 4: Walk-through programming for robotic manipulators based on … · 2017. 2. 8. · COMAU robots. Though this device is very intuitive and can be placed on the robot, or attached to

1146 Walk-through programming for robotic manipulators

Fig 2 The position controlled system with the admittance controller

The dynamic equations in (4)ndash(5) can thus be simplifiedas follows

P fP + mP g = mP aP (6)

P τP + P fP times P rBP = P IBP εP (7)

where the inertia tensor P IB has been approximated with adiagonal (constant) matrix

P IB = diag(P IBi

i = 1 3)

We can now state that the relations between the virtual toolposition and orientation and the forces and moments exertedby the teacher are a set of six independent double integratorsThe real-time integration of such unstable system howevercould lead to numerical problems that can be easily avoidedintroducing a dissipative term ie a linear viscous frictionin the linear and rotational motion As explained later thismakes the relations between forcesmoments and velocitiespassive contributing to the system stability and possiblyimproving the precision achievable with the walk-throughprogramming technique

Equations (6)ndash(7) can be then rewritten as

P fP + mP g = mP aP + DtP vP

P τP + P fP times P rBP = P IBP εP + Dr

P ωP

where Dt and Dr are the viscous friction matrix for thetranslational and rotational motion respectively Applyingthe Laplace transform to the previous equations yields

P rP = Lminus1Zminus1

t (s) FP (s)

pP = Lminus1Zminus1

r (s) TP (s)

where

Zminus1t (s) = diag

(1

ms2 + Dti s i = 1 3

)

Zminus1r (s) = diag

(1

P IBis2 + Dri

s i = 1 3

)

are two diagonal matrices of translational and rotationaladmittance filters and

FP (s) = L

P fP + mP g

TP (s) = L

P τP + P fP times P rBP

are vectors of Laplace transforms of the correspondingvariables

31 Admittance control implementation and safety issuesThe easiest way to implement an admittance control strategyon an industrial robot controller is by closing an external loopoutside the position control loops the admittance controllerfed by the measurements of force and moments acquiredby a forcetorque sensor mounted at the end-effector yieldsmodifications to the Cartesian (position and orientation)set-points in order to guarantee the prescribed compliantbehaviour If the industrial controller does not allow todirectly feed the Cartesian positionorientation set-pointsa kinematic inversion has to be added in order to convertthe outputs of the admittance filters into the joint positionset-points

Consider thus the block diagram in Fig 2 the part enclosedin the grey box represents the industrial position controlwhose set-points are updated based on the force measured atthe end-effector The dynamics of the human operator havebeen also represented7 8 as he or she closes a further loopoutside the industrial control that in particular situationscan lead to instability In order to simplify the analysis it issometimes assumed see eg refs [7 8] that the dynamicsof the human operator are relatively slow with respect to thedynamics of the position controlled robot

Assuming anyway that the dynamics of the human arepassive a sensible way to design the admittance filter isto guarantee a passive mapping between sensed forces andresulting velocities on the robot side

Then denoting with rP pP the reference trajectory andassuming the dynamics of the closed-loop position controlledrobot to be sufficiently fast it follows

rP asymp rP minus Zminus1t fP pP asymp pP minus Zminus1

r τP

or

fP asymp Zt (rP minus rP ) τP asymp Zr (pP minus pP )

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1147

which shows that an impedance relation between appliedforces (moments) and position (orientation) errors is at leastapproximately obtained

As far as safety aspects are concerned industrial robotsare designed to work in a highly structured environmentperforming fast and accurate movements in an area thatis rigidly separated by way of safety fences from theareas occupied by humans Robots safety requirements forindustrial environments are regulated by the internationalstandard ISO 10218-15

As already pointed out the walk-through programmingentails important safety issues as the operator is within therobot working envelope with the robot controller energisedIn particular the safety aspects that have to be consideredconcern the ergonomic design and the safe motion of therobot during the humanndashrobot interaction

Considering a single human operator interacting witha single robot the following safety procedure should beenforced

Activation of drive power Drive power has to be turnedon from outside the robot area after checking that the areais not occupied by anyone (as described by general safetyrules)Once the drive power has been activated the operator canstart the walk-through programming

Walk-through programming The operator should grab andactivate a three-position enabling device compliant withthe requirements of Section 583 in ref [5] interlockedwith the safety devices of the cellrobot control as longas he or she holds the device in a centre-enabled positionrobot motion is allowedThe robot motion is commanded by the teacher through theTeach Pendant or the device adopted for the walk-throughprogramming

According to ref [5] the speed of the end-effector mountingflange and of the tool centre point shall not exceed 250 mmsand the device adopted for the walk-through programmingshall be located close to the end-effector

In the next sections two further functionalities which canbe developed exploiting the admittance control frameworkare introduced The former presented in Section 32 usesa variable viscous friction to enhance the motion precisionand to introduce a safety limit on the maximum tool centrepoint velocity The latter described in Section 33 introducesvirtual barriers to separate the human from the robot end-effector

Notice however that these functionalities though usefulto improve the safety in the humanndashrobot interaction cannotin any case replace the safety procedure detailed previouslyIn fact they can only prevent a possible collision occurringat the robot end-effector and they cannot guarantee anyprotection if a failure at the forcetorque sensor occurs

32 Introducing a nonlinear viscous frictionAs explained at the beginning of this section the introductionof a dissipative term in the equations of motion of thevirtual tool makes the relations between forcesmoments andvelocities passive contributing to the system stability

0 10 20 30 40 5050

55

60

65

70

75

80

85

90

95

100

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 3 An example of the variable friction coefficient characterisedby a maximum viscous friction Dmax of 100 Nsm a minimumviscous friction Dmin of 50 Nsm a velocity vmax of 40 mms anda velocity vmin of 10 mms

Furthermore as shown in ref [16] the adoption of avariable friction coefficient can even enhance the motionprecision In fact for fine positioning ie for a motioncharacterised by a low velocity a high damping is beneficialbut for gross motion characterised by a high velocity a lowdamping makes motion easier

In principle this argument holds for the translational androtational motion as well In practice however a grossrotational motion is quite rare For this reason though themethodology presented here is general (ie it can be used forthe translational and rotational viscous friction coefficients)we consider only the case of a variable translational viscousfriction coefficient

To guarantee continuity and differentiability the relationbetween the absolute value of the velocity and the frictioncoefficient is represented by a logistic function as follows

D (|v|) = α1

1 + eα2(|v|minusα3)+ α4 (8)

Using the absolute value of the velocity ensures that velocityvectors having the same magnitude give rise to the samefriction coefficient independently of the direction of thevector In other words the curve representing the relationbetween the friction coefficient D and the velocity v issymmetric with respect to the y axis For this reason in thefollowing we consider only the positive half of this curve

The shape of the positive half (v ge 0) of the logisticfunction can be characterised through the following (Fig 3)coefficients

Dmax and Dmin the maximum and minimum values of thefriction coefficient respectively

vmax and vmin the velocities corresponding to a valueof the friction coefficient of 101Dmin and 99Dmaxrespectively

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1148 Walk-through programming for robotic manipulators

0 50 100 1500

50

100

150

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 4 An example of the variable friction coefficient used toactively enforce safety The curve is characterised by a safetyfriction Dsafe of 150 Nsm a maximum acceptable velocity vsafeof 75 mms and a range of velocities vsafe of 25 mms

0 50 100 150 200 250 300 35050

60

70

80

90

100

110

120

130

140

150

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 5 An example of the variable friction coefficient that aims atimproving the accuracy at low velocity and enforcing safety at highvelocity

Once these four coefficients have been selected the valuesof αi can be determined as follows

α1 = Dmax minus Dmin α3 = vmin + vmax

2

α4 = Dmin

and

α2 = 1

vmax minus α3ln

(100α1 minus α4

α4

)or

α2 = 1

vmin minus α3ln

(α1 + α4

99α1 minus α4

)

where the first relation is obtained imposing D (vmin) =99Dmax the second one imposing D (vmax) = 101Dmin

Since Dt is a diagonal matrix relation (8) is usedto independently determine the value of each friction

coefficient with respect to the corresponding component ofthe translational velocity

The same principle can be used to actively enforce safetyexerting a rapidly increasing friction force as the tool centrepoint velocity approaches a specified velocity safety limit Inthis case the logistic function has the following expression(Fig 4)

D (|v|) = β1

1 + eminusβ2(|v|minusβ3)(9)

and is characterised by vsafe the maximum acceptable tool centre point velocity Dsafe the value of the friction coefficient to be enforced

when the tool centre point velocity exceeds vsafe vsafe the range of velocities around vsafe (from vsafe minus

vsafe to vsafe + vsafe) where the friction coefficient ismonotonously increasing from 0 to Dsafe

The coefficients βi are given by the following relations

β1 = Dsafe β2 = 2

vsafe β3 = vsafe

Finally the two effects previously described can becombined giving rise to the frictionvelocity relation (Fig 5)

D (|v|) = α1

1 + eα2(|v|minusα3)+ α4 + β1 minus α4

1 + eminusβ2(|v|minusβ3)

that allows to improve the motion accuracy at low velocityand to enforce a safety velocity limit at high velocity

33 Introducing virtual safety surfacesA variable friction coefficient allows to enforce a limitationon the maximum tool centre point Cartesian velocity slowingdown the robot motion when the operator exceeds the safetylimit

Besides relating the safety to the robot velocity howeverin many tasks the introduction of a safety relation dependingon the position of the tool centre point is extremelyimportant Considering for example the walk-throughprogramming in the context of metal finishing operationsa virtual safety fence surrounding the robot workstationestablishes a barrier between the human body and the robotworkspace so that only the human arms are within theallowed robotrsquos working envelope

Following this idea another way to enforce safety inthe framework of the admittance control is to introduce avirtual separation between the robot end-effector and thehuman operator through a virtual safety surface The simplestexample of such surface is a virtual wall a plane that reactsto penetration generating a viscoelastic virtual force

Consider the case of a virtual wall characterised by a unitvector nw being the outer-pointing normal to the plane atpoint pw Assuming that the tool centre point position inthe absolute reference frame is given by vector rT CP thepenetration μ of the tool centre point into the virtual wall canbe determined as follows

μ =

(pw minus rTCP) middot nw if (pw minus rT CP ) middot nw gt 0

0 otherwise

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1149

Fig 6 (Colour online) The Smart Six robot and a detail of the end-effector with the ATI forcetorque sensor

Table I Main specifications of the ATI forcetorque sensor

ATI SI-130-10

Range Fx Fy plusmn130 NRange Fz plusmn400 NRange Tx Ty plusmn10 NmRange Tz plusmn10 NmResolution Fx Fy 120 NResolution Fz 110 NResolution Tx Ty 1400 NmResolution Tz 1400 Nm

The viscoelastic virtual force fvw generated by the wall isthen given by

fvw = (Kwμ + Dwμ)nw

Adding this virtual force to the real forces measured by thesensor allows to prevent as much as possible the robot toolcentre point from entering the space behind the virtual wall

The virtual and real forces are then fed together into theadmittance filter to generate the robot motion

Then with the same approach more complex virtualsurfaces can be introduced Note that however the approachproposed here is limited to a point contact between the virtualwall and the tool centre point and any extension to morecomplex constraints requires further investigation

4 Experimental ResultsThe experimental set-up consists of a robot Smart Six (Fig 6)a 6 dof 6 kg payload industrial manipulator manufacturedby COMAU equipped with the open version of the COMAUC4G controller4 In the open version the C4G acting as anetwork client is linked to a real-time external PC through areal-time ethernet connection based on the RTnet protocol3

The real-time external PC acting as a network server is basedon the RTAI Linux real-time extension2 The two devicescommunicate at a frequency of 500 Hz every 2 ms theindustrial controller sends to the external PC the actual joint

Fig 7 (Colour online) The operator interacting with the robot during a walk-through programming operation

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1150 Walk-through programming for robotic manipulators

0 10 20 30 40 50-50

0

50

Fx [N

]

0 10 20 30 40 50-50

0

50

Fy [N

]

0 10 20 30 40 50-10

0

10

Time [s]

Fz [N

]

(a)

0 10 20 30 40 50-5

0

5

τ x [Nm

]

0 10 20 30 40 50-5

0

5

τ y [Nm

]

0 10 20 30 40 50-2

0

2

Time [s]

τ z [Nm

]

(b)

Fig 8 Forces (a) and torques (b) expressed in the absolute frameduring a walk-through programming experiment

positions and velocities and the reference motor currentsand the external PC replies sending the reference jointpositions and velocities

An ATI 6-axis wrist forcetorque sensor (see Fig 6 andTable 33 for further details) is fitted to the arm end-effectorand linked to the PC through a DAQ board that is managedby the RTAI system thanks to a real-time extension of theComedi drivers1 The analogue voltages generated by thedevice are acquired by a dedicated real-time thread that runsperiodically at a frequency of 10 kHz This thread is also incharge of reducing the effect of measurement noise filteringeach channel with a 10th-order moving average filter

The easiest way to implement the walk-throughprogramming technique on an industrial robot controlleris by enforcing the dynamics of the virtual tool throughan admittance controller as described in Section 31 Anexternal loop is then closed outside the position control loopsin the industrial controller (Fig 2) the admittance controllerfed by the measurements of forces and moments acquired by

0 10 20 30 40 50-500

0

500

v x [mm

s]

0 10 20 30 40 50-500

0

500

v y [mm

s]

0 10 20 30 40 50-100

0

100

Time [s]

v z [mm

s]

(a)

0 10 20 30 40 50-500

0

500

ωx [m

rad

s]

0 10 20 30 40 50-500

0

500

ωy [m

rad

s]

0 10 20 30 40 50-100

0

100

Time [s]

ωz [m

rad

s]

(b)

Fig 9 The virtual tool linear (a) and angular (b) velocitiesexpressed in the absolute frame during a walk-throughprogramming experiment

a forcetorque sensor mounted on the end-effector yieldsmodifications to the joint position set-points in order toguarantee the prescribed compliant behaviour

Furthermore in order to fulfil all the safety requirementsdiscussed in Section 31 a set of safety constraints isintroduced

a virtual force proportional to the tool centre pointCartesian velocity by way of a nonlinear viscous frictioncoefficient that rapidly increases as the velocity approachesthe value of 250 mms is superimposed to the forcesmeasured by the forcetorque sensor (this force preventsthe human operator from exceeding the maximum velocityprescribed by the safety requirements for the teachingphase)

three virtual walls surrounding the workstation at thefront left and right side generate viscoelastic virtual forcesproportional to the penetration that are superimposed tothe forces measured by the forcetorque sensor (theseforces prevent the robot from exiting the predefined

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1151

(a) Tool trajectory

0 10 20 30 40 500

1

2

Err

or x

[mm

]

0 10 20 30 40 500

05

1

Err

or y

[mm

]

0 10 20 30 40 500

05

1

Err

or z

[mm

]

Time [s]

(b) Position errors

Fig 10 A comparison between the virtual tool experimentalpositions and the virtual tool trajectory obtained integrating thenonlinear motion equations in (4) and (5)

working area avoiding as much as possible a collisionbetween the robot and the human body)

A preliminary experiment shows the behaviour of thesystem in the absence of any safety constraint (Fig 7)It aims at comparing the trajectory executed by the robotemulating a spherical mass as the virtual tool and the onegenerated by a simulator that integrates the virtual toolmotion equations (4)ndash(5)

In this experiment the teacher walks the end-effectoraround a workstation a table of 40 times 80 cm length and 40 cmheight placed in front of the robot at 50 cm from the robotbase The virtual tool was given the mechanical propertiesof a sphere of 50 kg of mass and 5 cm of radius with aconstant viscous friction coefficient of 50 Nsm along eachtranslational direction and 10 Nmsrad along each rotationaldirection

Figures 8 and 9 show the forces and moments (expressedin the absolute frame) and the corresponding virtual toollinear and angular velocities (again expressed in the absolute

Fig 11 (Colour online) The experimental set-up with two examplesof the virtual walls

075 08 085 09 095 1 105 11 115-05

-04

-03

-02

-01

0

01

02

03

04

05

x [m]

y [m

]

Fig 12 The tool centre point trajectory in the xy plane (solid line)and the projection of the virtual walls on the xy plane (dashndashdottedline)

frame) These plots are useful to better understand the actionapplied by the operator on the robot end-effector and thecorresponding motion of the virtual tool which has thenbeen compared with the actual motion of the end-effector

Figure 10 shows such comparison between the trajectorywalked by the robot and the trajectory obtained integratingthe motion equations (4)ndash(5) fed by the forces and torquesmeasured during the experiment

Notice that the walk-through programming experimentdepicted here is characterised by several movementsinvolving tool position and orientation (Fig 10a) Thoughthe accelerations exerted by the teacher are sometimes evenlarger than the ones applied by an actual human operatorduring a teaching operation the robot always smoothlyaccommodates for the teacherrsquos commands

In any case Fig 10(b) clearly shows that the admittancefilters though simple and linear are adequate to describe themotion of the virtual tool In fact considering that the aimof the walk-through programming technique is to give the

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1152 Walk-through programming for robotic manipulators

0 2 4 6 8 10 12 14 1605

1

15

x [m

]

0 2 4 6 8 10 12 14 160

5

10

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v x [mm

s]

Time [s]

(a) x coordinate

0 2 4 6 8 10 12 14 16-05

0

05

y [m

]

0 2 4 6 8 10 12 14 160

20

40

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v y [mm

s]

Time [s]

(b) y coordinate

Fig 13 Time history of the xy coordinates limit imposed by thevirtual wall on the xy coordinates (dotted line) wall penetration μand tool centre point velocity along the xy directions

teacher the impression of moving the real tool instead of arobot an error in the range of few millimetres is acceptable

Another set of experiments aims at showing theeffectiveness of the safety constraints introduced inSections 32 and 33

To prevent as much as possible dangerous situations themotion of the robot has been confined to a box that includesthe workstation (Fig 11) Three virtual walls have beendefined one in front of the robot 11 m far from the robotbase and two at the left and right sides respectively each at adistance of 04 m from the robot base All these virtual wallsreact to a penetration of the robot end-effector generatinga viscoelastic virtual force characterised by a stiffness K of 5000 Nm and a damping D of 1000 Nsm For safetyreasons these virtual forces are limited to a maximum valueof 50 N

Figure 12 shows the projection of the virtual walls onthe ground plane (xy plane) together with the end-effectortrajectory the teacher drives the robot through a square that

0 5 10 15 20minus2000

0

2000

v x [mm

s]

0 5 10 15 20minus1000

0

1000

v y [mm

s]

0 5 10 15 20minus2000

0

2000

Time [s]

v z [mm

s]

Fig 14 An example of the effect of the variable friction coefficient(the dotted lines represent the velocity obtained simulating a set ofimpedance filters with constant friction) in keeping the tool centrepoint velocity below the safety limit of 250 mms (shown in thefigure by the dashed lines)

0 5 10 15 200

500

Dx [N

sm

]

0 5 10 15 200

200

400

Dy [N

sm

]

0 5 10 15 200

500

Time [s]

Dz [N

sm

]

Fig 15 Time history of the experimental friction coefficient appliedto limit the tool centre point velocity to 250 mms

touches all the three walls from right to left Figure 13 showsin detail the time history of the x and y coordinates and thetime instants at which a penetration in the virtual wall occursNote that when this happens the tool centre point velocityis almost instantaneously reduced so as to decrease as muchas possible the energy associated with the robot in case of animpact

Another way to enforce safety as described in Section 32relies on the introduction of a nonlinear viscous frictioncoefficient that forces the teacher to keep the tool centre pointvelocity below the safety limit of 250 mms Following thisrequirement relation (9) has been parameterised consideringa maximum velocity vsafe of 250 mms a maximum valueof the friction coefficient Dsafe of 800 Nsm and a rangevsafe of 001 ms

An experiment has been performed to show theeffectiveness of this approach Three high-speed linearmovements along the x y and z axis have been imposed

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1153

by the teacher Figure 14 shows a comparison between thetool centre point experimental velocities (solid lines) and thevelocities computed in simulation with a set of impedancefilters characterised by a constant friction coefficient (dottedlines) The dashed lines point out the limits at plusmn250 mms

The time history of the velocity demonstrates thatthe introduction of a nonlinear friction coefficient whichincreases as the tool centre point velocity approaches thesafety limit (Fig 15) can effectively impose a smoothconstraint on these velocities

5 ConclusionsAn implementation of the walk-through programming modeusing the admittance control approach has been described inthis paper

All the issues involved from the implementation of theadmittance control on an industrial robot controller to thesafety aspects due to the presence of the operator in therobotrsquos working envelope have been carefully considered Inparticular two safety strategies which exploit the admittancecontroller in order to keep the robot Cartesian velocity belowa safety threshold and to virtually separate the human bodyfrom the robot workspace have been investigated

A set of experiments completes the paper demonstratingthe behaviour of the walk-through programming mode andthe effects of the safety functionalities

AcknowledgementsThe research leading to these results has received fundingfrom the European Communityrsquos Seventh Framework Pro-gramme FP72007-2013mdashChallenge 2 Cognitive SystemsInteraction Roboticsmdashunder grant agreement No 231143ECHORD (Experiment FIDELIO)

References1 COMEDI ldquoLinux Control and Measurement Device

Interfacerdquo available at httpwwwcomediorg2 ldquoRTAI ndash Real Time Application Interfacerdquo available at

httpwwwrtaiorg3 ldquoRTnet ndash Hard Real-Time Networking for Real-Time Linuxrdquo

available at httpwwwrtnetorg4 Comau Robotics instruction handbook C4G OPEN System

Software Rel 333 20115 ISO 10218-12011 Robots for industrial environments

Safety requirementsndashPart 1 Robot (European Committee forStandardization 2011)

6 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing using Compliant ControlrdquoProceedings of the IEEE International Conference on Roboticsand Automation Minneapolis MN (Apr 1996) pp 1000ndash1005

7 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Reflexive MotionControlrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Albuquerque NM (Apr 1997)pp 2326ndash2331

8 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Variable ComplianceControlrdquo Proceedings of the IEEE International Conference

on Robotics and Automation Albuquerque NM (Apr 1997)pp 895ndash900

9 A Albu-Schaeffer and G Hirzinger ldquoCartesian ImpedanceControl Techniques for Torque Controlled Light-WeightRobotsrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Washington DC USA (2002)pp 657ndash663

10 H Ang W Lin and S-Y Lim ldquoA walk-through programmedrobot for welding in shipyardsrdquo Ind Robots 26(5) 377ndash388(1999)

11 M H Ang Jr and L S Yong ldquoAn Industrial Application ofControl of Dynamic Behavior of Robots ndash A Walk-ThroughProgrammed Welding Robotrdquo Proceedings of the IEEEInternational Conference on Robotics and Automation SanFrancisco CA USA (Apr 2000) pp 2352ndash2357

12 G Ferretti G Magnani and P Rocco ldquoAssigning VirtualTool Dynamics to an Industrial Robot Through an AdmittanceControllerrdquo Proceedings of the IEEE International Conferenceon Advanced Robotics Munich Bavaria (Jun 2009) pp 1ndash6

13 M Frigola J Poyatos A Casals and J Amat ldquoImprovingRobot Programming Flexibility Through Physical Human-Robot Interactionrdquo IROS Workshop on Robot Programmingby Demonstration Las Vegas USA (Oct 2003) pp 1ndash8

14 G Grunwald G Schreiber A Albu-Schaffer and G HirzingerldquoProgramming by touch The different way of human-robotinteractionrdquo IEEE Trans Ind Electron 50(4) 659ndash666 (2003)

15 A K Gupta and S K Arora Industrial Automation andRobotics (Laxmi Publications Daryaganj New Delhi 2007)

16 R Ikeura and H Inooka ldquoVariable Impedance Control of aRobot for Cooperation with a Humanrdquo Proceedings of theIEEE International Conference on Robotics and AutomationNagoya Japan (1995) pp 3097ndash3102

17 M Jakopec S J Harris F Rodriguez y Baena P GomesJ Cobb and B L Davies ldquoThe first clinical application of aldquohands-onrdquo robotic knee surgery systemrdquo Comput Aided Surg6(6) 329ndash339 (2001)

18 R Kumar P Berkelman P Gupta A Barnes P S JensenL L Whitcomb and R H Taylor ldquoPreliminary Experimentsin Cooperative HumanRobot Force Control for Robot AssistedMicrosurgical Manipulationrdquo Proceedings of the IEEE Inter-national Conference on Robotics and Automation SanFrancisco CA (Apr 2000) pp 610ndash617

19 Occupational Safety and Health Administration (OSHA)OSHA Technical Manual Industrial robots and robotsystem safety (Section IV Chapter 4) US Department ofLabor Occupational Safety amp Health Administration NWWashington DC

20 T Ortmaier H Weiss U Hagn M Grebenstein M NicklA Albu-Schaffer C Ott S Jorg R Konietschke L Le-Tienand G Hirzinger ldquoA Hands-on-Robot for Accurate Placementof Pedicle Screwsrdquo Proceedings of the IEEE InternationalConference on Robotics and Automation Orlando FL (May2006) pp 4179ndash4186

21 C Powell ldquoCase study Kuntz Electroplating automated wheelpolishing systemrdquo Robotics (available at httpwwwroboticsorg) (2002)

22 ABB Robotics FC Programming Handle (2010)23 A Tellaeche R Arana M A Perez and I Maurtua ldquoAccurate

Manual Guided Robot Programming and Trajectory Correctionusing 3D Vision by Laser Triangulationrdquo Workshop IndustryndashAcademia Collaboration in the ECHORD Project A Bridge forEuropean Robotics Innovation IEEE International Conferenceon Robotics and Automation St Paul Minnesota USA (2012)pp 385ndash394

24 T Tsumugiwa R Yokogawa and K Yoshida ldquoStabilityAnalysis for Impedance Control of Robot for Human-RobotCooperative Task Systemrdquo Proceedings of the IEEERSJInternational Conference on Intelligent Robots and SystemsSendai Japan (Oct 2004) pp 3883ndash3888

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Page 5: Walk-through programming for robotic manipulators based on … · 2017. 2. 8. · COMAU robots. Though this device is very intuitive and can be placed on the robot, or attached to

Walk-through programming for robotic manipulators 1147

which shows that an impedance relation between appliedforces (moments) and position (orientation) errors is at leastapproximately obtained

As far as safety aspects are concerned industrial robotsare designed to work in a highly structured environmentperforming fast and accurate movements in an area thatis rigidly separated by way of safety fences from theareas occupied by humans Robots safety requirements forindustrial environments are regulated by the internationalstandard ISO 10218-15

As already pointed out the walk-through programmingentails important safety issues as the operator is within therobot working envelope with the robot controller energisedIn particular the safety aspects that have to be consideredconcern the ergonomic design and the safe motion of therobot during the humanndashrobot interaction

Considering a single human operator interacting witha single robot the following safety procedure should beenforced

Activation of drive power Drive power has to be turnedon from outside the robot area after checking that the areais not occupied by anyone (as described by general safetyrules)Once the drive power has been activated the operator canstart the walk-through programming

Walk-through programming The operator should grab andactivate a three-position enabling device compliant withthe requirements of Section 583 in ref [5] interlockedwith the safety devices of the cellrobot control as longas he or she holds the device in a centre-enabled positionrobot motion is allowedThe robot motion is commanded by the teacher through theTeach Pendant or the device adopted for the walk-throughprogramming

According to ref [5] the speed of the end-effector mountingflange and of the tool centre point shall not exceed 250 mmsand the device adopted for the walk-through programmingshall be located close to the end-effector

In the next sections two further functionalities which canbe developed exploiting the admittance control frameworkare introduced The former presented in Section 32 usesa variable viscous friction to enhance the motion precisionand to introduce a safety limit on the maximum tool centrepoint velocity The latter described in Section 33 introducesvirtual barriers to separate the human from the robot end-effector

Notice however that these functionalities though usefulto improve the safety in the humanndashrobot interaction cannotin any case replace the safety procedure detailed previouslyIn fact they can only prevent a possible collision occurringat the robot end-effector and they cannot guarantee anyprotection if a failure at the forcetorque sensor occurs

32 Introducing a nonlinear viscous frictionAs explained at the beginning of this section the introductionof a dissipative term in the equations of motion of thevirtual tool makes the relations between forcesmoments andvelocities passive contributing to the system stability

0 10 20 30 40 5050

55

60

65

70

75

80

85

90

95

100

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 3 An example of the variable friction coefficient characterisedby a maximum viscous friction Dmax of 100 Nsm a minimumviscous friction Dmin of 50 Nsm a velocity vmax of 40 mms anda velocity vmin of 10 mms

Furthermore as shown in ref [16] the adoption of avariable friction coefficient can even enhance the motionprecision In fact for fine positioning ie for a motioncharacterised by a low velocity a high damping is beneficialbut for gross motion characterised by a high velocity a lowdamping makes motion easier

In principle this argument holds for the translational androtational motion as well In practice however a grossrotational motion is quite rare For this reason though themethodology presented here is general (ie it can be used forthe translational and rotational viscous friction coefficients)we consider only the case of a variable translational viscousfriction coefficient

To guarantee continuity and differentiability the relationbetween the absolute value of the velocity and the frictioncoefficient is represented by a logistic function as follows

D (|v|) = α1

1 + eα2(|v|minusα3)+ α4 (8)

Using the absolute value of the velocity ensures that velocityvectors having the same magnitude give rise to the samefriction coefficient independently of the direction of thevector In other words the curve representing the relationbetween the friction coefficient D and the velocity v issymmetric with respect to the y axis For this reason in thefollowing we consider only the positive half of this curve

The shape of the positive half (v ge 0) of the logisticfunction can be characterised through the following (Fig 3)coefficients

Dmax and Dmin the maximum and minimum values of thefriction coefficient respectively

vmax and vmin the velocities corresponding to a valueof the friction coefficient of 101Dmin and 99Dmaxrespectively

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1148 Walk-through programming for robotic manipulators

0 50 100 1500

50

100

150

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 4 An example of the variable friction coefficient used toactively enforce safety The curve is characterised by a safetyfriction Dsafe of 150 Nsm a maximum acceptable velocity vsafeof 75 mms and a range of velocities vsafe of 25 mms

0 50 100 150 200 250 300 35050

60

70

80

90

100

110

120

130

140

150

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 5 An example of the variable friction coefficient that aims atimproving the accuracy at low velocity and enforcing safety at highvelocity

Once these four coefficients have been selected the valuesof αi can be determined as follows

α1 = Dmax minus Dmin α3 = vmin + vmax

2

α4 = Dmin

and

α2 = 1

vmax minus α3ln

(100α1 minus α4

α4

)or

α2 = 1

vmin minus α3ln

(α1 + α4

99α1 minus α4

)

where the first relation is obtained imposing D (vmin) =99Dmax the second one imposing D (vmax) = 101Dmin

Since Dt is a diagonal matrix relation (8) is usedto independently determine the value of each friction

coefficient with respect to the corresponding component ofthe translational velocity

The same principle can be used to actively enforce safetyexerting a rapidly increasing friction force as the tool centrepoint velocity approaches a specified velocity safety limit Inthis case the logistic function has the following expression(Fig 4)

D (|v|) = β1

1 + eminusβ2(|v|minusβ3)(9)

and is characterised by vsafe the maximum acceptable tool centre point velocity Dsafe the value of the friction coefficient to be enforced

when the tool centre point velocity exceeds vsafe vsafe the range of velocities around vsafe (from vsafe minus

vsafe to vsafe + vsafe) where the friction coefficient ismonotonously increasing from 0 to Dsafe

The coefficients βi are given by the following relations

β1 = Dsafe β2 = 2

vsafe β3 = vsafe

Finally the two effects previously described can becombined giving rise to the frictionvelocity relation (Fig 5)

D (|v|) = α1

1 + eα2(|v|minusα3)+ α4 + β1 minus α4

1 + eminusβ2(|v|minusβ3)

that allows to improve the motion accuracy at low velocityand to enforce a safety velocity limit at high velocity

33 Introducing virtual safety surfacesA variable friction coefficient allows to enforce a limitationon the maximum tool centre point Cartesian velocity slowingdown the robot motion when the operator exceeds the safetylimit

Besides relating the safety to the robot velocity howeverin many tasks the introduction of a safety relation dependingon the position of the tool centre point is extremelyimportant Considering for example the walk-throughprogramming in the context of metal finishing operationsa virtual safety fence surrounding the robot workstationestablishes a barrier between the human body and the robotworkspace so that only the human arms are within theallowed robotrsquos working envelope

Following this idea another way to enforce safety inthe framework of the admittance control is to introduce avirtual separation between the robot end-effector and thehuman operator through a virtual safety surface The simplestexample of such surface is a virtual wall a plane that reactsto penetration generating a viscoelastic virtual force

Consider the case of a virtual wall characterised by a unitvector nw being the outer-pointing normal to the plane atpoint pw Assuming that the tool centre point position inthe absolute reference frame is given by vector rT CP thepenetration μ of the tool centre point into the virtual wall canbe determined as follows

μ =

(pw minus rTCP) middot nw if (pw minus rT CP ) middot nw gt 0

0 otherwise

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1149

Fig 6 (Colour online) The Smart Six robot and a detail of the end-effector with the ATI forcetorque sensor

Table I Main specifications of the ATI forcetorque sensor

ATI SI-130-10

Range Fx Fy plusmn130 NRange Fz plusmn400 NRange Tx Ty plusmn10 NmRange Tz plusmn10 NmResolution Fx Fy 120 NResolution Fz 110 NResolution Tx Ty 1400 NmResolution Tz 1400 Nm

The viscoelastic virtual force fvw generated by the wall isthen given by

fvw = (Kwμ + Dwμ)nw

Adding this virtual force to the real forces measured by thesensor allows to prevent as much as possible the robot toolcentre point from entering the space behind the virtual wall

The virtual and real forces are then fed together into theadmittance filter to generate the robot motion

Then with the same approach more complex virtualsurfaces can be introduced Note that however the approachproposed here is limited to a point contact between the virtualwall and the tool centre point and any extension to morecomplex constraints requires further investigation

4 Experimental ResultsThe experimental set-up consists of a robot Smart Six (Fig 6)a 6 dof 6 kg payload industrial manipulator manufacturedby COMAU equipped with the open version of the COMAUC4G controller4 In the open version the C4G acting as anetwork client is linked to a real-time external PC through areal-time ethernet connection based on the RTnet protocol3

The real-time external PC acting as a network server is basedon the RTAI Linux real-time extension2 The two devicescommunicate at a frequency of 500 Hz every 2 ms theindustrial controller sends to the external PC the actual joint

Fig 7 (Colour online) The operator interacting with the robot during a walk-through programming operation

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1150 Walk-through programming for robotic manipulators

0 10 20 30 40 50-50

0

50

Fx [N

]

0 10 20 30 40 50-50

0

50

Fy [N

]

0 10 20 30 40 50-10

0

10

Time [s]

Fz [N

]

(a)

0 10 20 30 40 50-5

0

5

τ x [Nm

]

0 10 20 30 40 50-5

0

5

τ y [Nm

]

0 10 20 30 40 50-2

0

2

Time [s]

τ z [Nm

]

(b)

Fig 8 Forces (a) and torques (b) expressed in the absolute frameduring a walk-through programming experiment

positions and velocities and the reference motor currentsand the external PC replies sending the reference jointpositions and velocities

An ATI 6-axis wrist forcetorque sensor (see Fig 6 andTable 33 for further details) is fitted to the arm end-effectorand linked to the PC through a DAQ board that is managedby the RTAI system thanks to a real-time extension of theComedi drivers1 The analogue voltages generated by thedevice are acquired by a dedicated real-time thread that runsperiodically at a frequency of 10 kHz This thread is also incharge of reducing the effect of measurement noise filteringeach channel with a 10th-order moving average filter

The easiest way to implement the walk-throughprogramming technique on an industrial robot controlleris by enforcing the dynamics of the virtual tool throughan admittance controller as described in Section 31 Anexternal loop is then closed outside the position control loopsin the industrial controller (Fig 2) the admittance controllerfed by the measurements of forces and moments acquired by

0 10 20 30 40 50-500

0

500

v x [mm

s]

0 10 20 30 40 50-500

0

500

v y [mm

s]

0 10 20 30 40 50-100

0

100

Time [s]

v z [mm

s]

(a)

0 10 20 30 40 50-500

0

500

ωx [m

rad

s]

0 10 20 30 40 50-500

0

500

ωy [m

rad

s]

0 10 20 30 40 50-100

0

100

Time [s]

ωz [m

rad

s]

(b)

Fig 9 The virtual tool linear (a) and angular (b) velocitiesexpressed in the absolute frame during a walk-throughprogramming experiment

a forcetorque sensor mounted on the end-effector yieldsmodifications to the joint position set-points in order toguarantee the prescribed compliant behaviour

Furthermore in order to fulfil all the safety requirementsdiscussed in Section 31 a set of safety constraints isintroduced

a virtual force proportional to the tool centre pointCartesian velocity by way of a nonlinear viscous frictioncoefficient that rapidly increases as the velocity approachesthe value of 250 mms is superimposed to the forcesmeasured by the forcetorque sensor (this force preventsthe human operator from exceeding the maximum velocityprescribed by the safety requirements for the teachingphase)

three virtual walls surrounding the workstation at thefront left and right side generate viscoelastic virtual forcesproportional to the penetration that are superimposed tothe forces measured by the forcetorque sensor (theseforces prevent the robot from exiting the predefined

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1151

(a) Tool trajectory

0 10 20 30 40 500

1

2

Err

or x

[mm

]

0 10 20 30 40 500

05

1

Err

or y

[mm

]

0 10 20 30 40 500

05

1

Err

or z

[mm

]

Time [s]

(b) Position errors

Fig 10 A comparison between the virtual tool experimentalpositions and the virtual tool trajectory obtained integrating thenonlinear motion equations in (4) and (5)

working area avoiding as much as possible a collisionbetween the robot and the human body)

A preliminary experiment shows the behaviour of thesystem in the absence of any safety constraint (Fig 7)It aims at comparing the trajectory executed by the robotemulating a spherical mass as the virtual tool and the onegenerated by a simulator that integrates the virtual toolmotion equations (4)ndash(5)

In this experiment the teacher walks the end-effectoraround a workstation a table of 40 times 80 cm length and 40 cmheight placed in front of the robot at 50 cm from the robotbase The virtual tool was given the mechanical propertiesof a sphere of 50 kg of mass and 5 cm of radius with aconstant viscous friction coefficient of 50 Nsm along eachtranslational direction and 10 Nmsrad along each rotationaldirection

Figures 8 and 9 show the forces and moments (expressedin the absolute frame) and the corresponding virtual toollinear and angular velocities (again expressed in the absolute

Fig 11 (Colour online) The experimental set-up with two examplesof the virtual walls

075 08 085 09 095 1 105 11 115-05

-04

-03

-02

-01

0

01

02

03

04

05

x [m]

y [m

]

Fig 12 The tool centre point trajectory in the xy plane (solid line)and the projection of the virtual walls on the xy plane (dashndashdottedline)

frame) These plots are useful to better understand the actionapplied by the operator on the robot end-effector and thecorresponding motion of the virtual tool which has thenbeen compared with the actual motion of the end-effector

Figure 10 shows such comparison between the trajectorywalked by the robot and the trajectory obtained integratingthe motion equations (4)ndash(5) fed by the forces and torquesmeasured during the experiment

Notice that the walk-through programming experimentdepicted here is characterised by several movementsinvolving tool position and orientation (Fig 10a) Thoughthe accelerations exerted by the teacher are sometimes evenlarger than the ones applied by an actual human operatorduring a teaching operation the robot always smoothlyaccommodates for the teacherrsquos commands

In any case Fig 10(b) clearly shows that the admittancefilters though simple and linear are adequate to describe themotion of the virtual tool In fact considering that the aimof the walk-through programming technique is to give the

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1152 Walk-through programming for robotic manipulators

0 2 4 6 8 10 12 14 1605

1

15

x [m

]

0 2 4 6 8 10 12 14 160

5

10

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v x [mm

s]

Time [s]

(a) x coordinate

0 2 4 6 8 10 12 14 16-05

0

05

y [m

]

0 2 4 6 8 10 12 14 160

20

40

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v y [mm

s]

Time [s]

(b) y coordinate

Fig 13 Time history of the xy coordinates limit imposed by thevirtual wall on the xy coordinates (dotted line) wall penetration μand tool centre point velocity along the xy directions

teacher the impression of moving the real tool instead of arobot an error in the range of few millimetres is acceptable

Another set of experiments aims at showing theeffectiveness of the safety constraints introduced inSections 32 and 33

To prevent as much as possible dangerous situations themotion of the robot has been confined to a box that includesthe workstation (Fig 11) Three virtual walls have beendefined one in front of the robot 11 m far from the robotbase and two at the left and right sides respectively each at adistance of 04 m from the robot base All these virtual wallsreact to a penetration of the robot end-effector generatinga viscoelastic virtual force characterised by a stiffness K of 5000 Nm and a damping D of 1000 Nsm For safetyreasons these virtual forces are limited to a maximum valueof 50 N

Figure 12 shows the projection of the virtual walls onthe ground plane (xy plane) together with the end-effectortrajectory the teacher drives the robot through a square that

0 5 10 15 20minus2000

0

2000

v x [mm

s]

0 5 10 15 20minus1000

0

1000

v y [mm

s]

0 5 10 15 20minus2000

0

2000

Time [s]

v z [mm

s]

Fig 14 An example of the effect of the variable friction coefficient(the dotted lines represent the velocity obtained simulating a set ofimpedance filters with constant friction) in keeping the tool centrepoint velocity below the safety limit of 250 mms (shown in thefigure by the dashed lines)

0 5 10 15 200

500

Dx [N

sm

]

0 5 10 15 200

200

400

Dy [N

sm

]

0 5 10 15 200

500

Time [s]

Dz [N

sm

]

Fig 15 Time history of the experimental friction coefficient appliedto limit the tool centre point velocity to 250 mms

touches all the three walls from right to left Figure 13 showsin detail the time history of the x and y coordinates and thetime instants at which a penetration in the virtual wall occursNote that when this happens the tool centre point velocityis almost instantaneously reduced so as to decrease as muchas possible the energy associated with the robot in case of animpact

Another way to enforce safety as described in Section 32relies on the introduction of a nonlinear viscous frictioncoefficient that forces the teacher to keep the tool centre pointvelocity below the safety limit of 250 mms Following thisrequirement relation (9) has been parameterised consideringa maximum velocity vsafe of 250 mms a maximum valueof the friction coefficient Dsafe of 800 Nsm and a rangevsafe of 001 ms

An experiment has been performed to show theeffectiveness of this approach Three high-speed linearmovements along the x y and z axis have been imposed

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1153

by the teacher Figure 14 shows a comparison between thetool centre point experimental velocities (solid lines) and thevelocities computed in simulation with a set of impedancefilters characterised by a constant friction coefficient (dottedlines) The dashed lines point out the limits at plusmn250 mms

The time history of the velocity demonstrates thatthe introduction of a nonlinear friction coefficient whichincreases as the tool centre point velocity approaches thesafety limit (Fig 15) can effectively impose a smoothconstraint on these velocities

5 ConclusionsAn implementation of the walk-through programming modeusing the admittance control approach has been described inthis paper

All the issues involved from the implementation of theadmittance control on an industrial robot controller to thesafety aspects due to the presence of the operator in therobotrsquos working envelope have been carefully considered Inparticular two safety strategies which exploit the admittancecontroller in order to keep the robot Cartesian velocity belowa safety threshold and to virtually separate the human bodyfrom the robot workspace have been investigated

A set of experiments completes the paper demonstratingthe behaviour of the walk-through programming mode andthe effects of the safety functionalities

AcknowledgementsThe research leading to these results has received fundingfrom the European Communityrsquos Seventh Framework Pro-gramme FP72007-2013mdashChallenge 2 Cognitive SystemsInteraction Roboticsmdashunder grant agreement No 231143ECHORD (Experiment FIDELIO)

References1 COMEDI ldquoLinux Control and Measurement Device

Interfacerdquo available at httpwwwcomediorg2 ldquoRTAI ndash Real Time Application Interfacerdquo available at

httpwwwrtaiorg3 ldquoRTnet ndash Hard Real-Time Networking for Real-Time Linuxrdquo

available at httpwwwrtnetorg4 Comau Robotics instruction handbook C4G OPEN System

Software Rel 333 20115 ISO 10218-12011 Robots for industrial environments

Safety requirementsndashPart 1 Robot (European Committee forStandardization 2011)

6 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing using Compliant ControlrdquoProceedings of the IEEE International Conference on Roboticsand Automation Minneapolis MN (Apr 1996) pp 1000ndash1005

7 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Reflexive MotionControlrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Albuquerque NM (Apr 1997)pp 2326ndash2331

8 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Variable ComplianceControlrdquo Proceedings of the IEEE International Conference

on Robotics and Automation Albuquerque NM (Apr 1997)pp 895ndash900

9 A Albu-Schaeffer and G Hirzinger ldquoCartesian ImpedanceControl Techniques for Torque Controlled Light-WeightRobotsrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Washington DC USA (2002)pp 657ndash663

10 H Ang W Lin and S-Y Lim ldquoA walk-through programmedrobot for welding in shipyardsrdquo Ind Robots 26(5) 377ndash388(1999)

11 M H Ang Jr and L S Yong ldquoAn Industrial Application ofControl of Dynamic Behavior of Robots ndash A Walk-ThroughProgrammed Welding Robotrdquo Proceedings of the IEEEInternational Conference on Robotics and Automation SanFrancisco CA USA (Apr 2000) pp 2352ndash2357

12 G Ferretti G Magnani and P Rocco ldquoAssigning VirtualTool Dynamics to an Industrial Robot Through an AdmittanceControllerrdquo Proceedings of the IEEE International Conferenceon Advanced Robotics Munich Bavaria (Jun 2009) pp 1ndash6

13 M Frigola J Poyatos A Casals and J Amat ldquoImprovingRobot Programming Flexibility Through Physical Human-Robot Interactionrdquo IROS Workshop on Robot Programmingby Demonstration Las Vegas USA (Oct 2003) pp 1ndash8

14 G Grunwald G Schreiber A Albu-Schaffer and G HirzingerldquoProgramming by touch The different way of human-robotinteractionrdquo IEEE Trans Ind Electron 50(4) 659ndash666 (2003)

15 A K Gupta and S K Arora Industrial Automation andRobotics (Laxmi Publications Daryaganj New Delhi 2007)

16 R Ikeura and H Inooka ldquoVariable Impedance Control of aRobot for Cooperation with a Humanrdquo Proceedings of theIEEE International Conference on Robotics and AutomationNagoya Japan (1995) pp 3097ndash3102

17 M Jakopec S J Harris F Rodriguez y Baena P GomesJ Cobb and B L Davies ldquoThe first clinical application of aldquohands-onrdquo robotic knee surgery systemrdquo Comput Aided Surg6(6) 329ndash339 (2001)

18 R Kumar P Berkelman P Gupta A Barnes P S JensenL L Whitcomb and R H Taylor ldquoPreliminary Experimentsin Cooperative HumanRobot Force Control for Robot AssistedMicrosurgical Manipulationrdquo Proceedings of the IEEE Inter-national Conference on Robotics and Automation SanFrancisco CA (Apr 2000) pp 610ndash617

19 Occupational Safety and Health Administration (OSHA)OSHA Technical Manual Industrial robots and robotsystem safety (Section IV Chapter 4) US Department ofLabor Occupational Safety amp Health Administration NWWashington DC

20 T Ortmaier H Weiss U Hagn M Grebenstein M NicklA Albu-Schaffer C Ott S Jorg R Konietschke L Le-Tienand G Hirzinger ldquoA Hands-on-Robot for Accurate Placementof Pedicle Screwsrdquo Proceedings of the IEEE InternationalConference on Robotics and Automation Orlando FL (May2006) pp 4179ndash4186

21 C Powell ldquoCase study Kuntz Electroplating automated wheelpolishing systemrdquo Robotics (available at httpwwwroboticsorg) (2002)

22 ABB Robotics FC Programming Handle (2010)23 A Tellaeche R Arana M A Perez and I Maurtua ldquoAccurate

Manual Guided Robot Programming and Trajectory Correctionusing 3D Vision by Laser Triangulationrdquo Workshop IndustryndashAcademia Collaboration in the ECHORD Project A Bridge forEuropean Robotics Innovation IEEE International Conferenceon Robotics and Automation St Paul Minnesota USA (2012)pp 385ndash394

24 T Tsumugiwa R Yokogawa and K Yoshida ldquoStabilityAnalysis for Impedance Control of Robot for Human-RobotCooperative Task Systemrdquo Proceedings of the IEEERSJInternational Conference on Intelligent Robots and SystemsSendai Japan (Oct 2004) pp 3883ndash3888

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Page 6: Walk-through programming for robotic manipulators based on … · 2017. 2. 8. · COMAU robots. Though this device is very intuitive and can be placed on the robot, or attached to

1148 Walk-through programming for robotic manipulators

0 50 100 1500

50

100

150

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 4 An example of the variable friction coefficient used toactively enforce safety The curve is characterised by a safetyfriction Dsafe of 150 Nsm a maximum acceptable velocity vsafeof 75 mms and a range of velocities vsafe of 25 mms

0 50 100 150 200 250 300 35050

60

70

80

90

100

110

120

130

140

150

Velocity [mms]

Fric

tion

coef

ficie

nt [N

sm

]

Fig 5 An example of the variable friction coefficient that aims atimproving the accuracy at low velocity and enforcing safety at highvelocity

Once these four coefficients have been selected the valuesof αi can be determined as follows

α1 = Dmax minus Dmin α3 = vmin + vmax

2

α4 = Dmin

and

α2 = 1

vmax minus α3ln

(100α1 minus α4

α4

)or

α2 = 1

vmin minus α3ln

(α1 + α4

99α1 minus α4

)

where the first relation is obtained imposing D (vmin) =99Dmax the second one imposing D (vmax) = 101Dmin

Since Dt is a diagonal matrix relation (8) is usedto independently determine the value of each friction

coefficient with respect to the corresponding component ofthe translational velocity

The same principle can be used to actively enforce safetyexerting a rapidly increasing friction force as the tool centrepoint velocity approaches a specified velocity safety limit Inthis case the logistic function has the following expression(Fig 4)

D (|v|) = β1

1 + eminusβ2(|v|minusβ3)(9)

and is characterised by vsafe the maximum acceptable tool centre point velocity Dsafe the value of the friction coefficient to be enforced

when the tool centre point velocity exceeds vsafe vsafe the range of velocities around vsafe (from vsafe minus

vsafe to vsafe + vsafe) where the friction coefficient ismonotonously increasing from 0 to Dsafe

The coefficients βi are given by the following relations

β1 = Dsafe β2 = 2

vsafe β3 = vsafe

Finally the two effects previously described can becombined giving rise to the frictionvelocity relation (Fig 5)

D (|v|) = α1

1 + eα2(|v|minusα3)+ α4 + β1 minus α4

1 + eminusβ2(|v|minusβ3)

that allows to improve the motion accuracy at low velocityand to enforce a safety velocity limit at high velocity

33 Introducing virtual safety surfacesA variable friction coefficient allows to enforce a limitationon the maximum tool centre point Cartesian velocity slowingdown the robot motion when the operator exceeds the safetylimit

Besides relating the safety to the robot velocity howeverin many tasks the introduction of a safety relation dependingon the position of the tool centre point is extremelyimportant Considering for example the walk-throughprogramming in the context of metal finishing operationsa virtual safety fence surrounding the robot workstationestablishes a barrier between the human body and the robotworkspace so that only the human arms are within theallowed robotrsquos working envelope

Following this idea another way to enforce safety inthe framework of the admittance control is to introduce avirtual separation between the robot end-effector and thehuman operator through a virtual safety surface The simplestexample of such surface is a virtual wall a plane that reactsto penetration generating a viscoelastic virtual force

Consider the case of a virtual wall characterised by a unitvector nw being the outer-pointing normal to the plane atpoint pw Assuming that the tool centre point position inthe absolute reference frame is given by vector rT CP thepenetration μ of the tool centre point into the virtual wall canbe determined as follows

μ =

(pw minus rTCP) middot nw if (pw minus rT CP ) middot nw gt 0

0 otherwise

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1149

Fig 6 (Colour online) The Smart Six robot and a detail of the end-effector with the ATI forcetorque sensor

Table I Main specifications of the ATI forcetorque sensor

ATI SI-130-10

Range Fx Fy plusmn130 NRange Fz plusmn400 NRange Tx Ty plusmn10 NmRange Tz plusmn10 NmResolution Fx Fy 120 NResolution Fz 110 NResolution Tx Ty 1400 NmResolution Tz 1400 Nm

The viscoelastic virtual force fvw generated by the wall isthen given by

fvw = (Kwμ + Dwμ)nw

Adding this virtual force to the real forces measured by thesensor allows to prevent as much as possible the robot toolcentre point from entering the space behind the virtual wall

The virtual and real forces are then fed together into theadmittance filter to generate the robot motion

Then with the same approach more complex virtualsurfaces can be introduced Note that however the approachproposed here is limited to a point contact between the virtualwall and the tool centre point and any extension to morecomplex constraints requires further investigation

4 Experimental ResultsThe experimental set-up consists of a robot Smart Six (Fig 6)a 6 dof 6 kg payload industrial manipulator manufacturedby COMAU equipped with the open version of the COMAUC4G controller4 In the open version the C4G acting as anetwork client is linked to a real-time external PC through areal-time ethernet connection based on the RTnet protocol3

The real-time external PC acting as a network server is basedon the RTAI Linux real-time extension2 The two devicescommunicate at a frequency of 500 Hz every 2 ms theindustrial controller sends to the external PC the actual joint

Fig 7 (Colour online) The operator interacting with the robot during a walk-through programming operation

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1150 Walk-through programming for robotic manipulators

0 10 20 30 40 50-50

0

50

Fx [N

]

0 10 20 30 40 50-50

0

50

Fy [N

]

0 10 20 30 40 50-10

0

10

Time [s]

Fz [N

]

(a)

0 10 20 30 40 50-5

0

5

τ x [Nm

]

0 10 20 30 40 50-5

0

5

τ y [Nm

]

0 10 20 30 40 50-2

0

2

Time [s]

τ z [Nm

]

(b)

Fig 8 Forces (a) and torques (b) expressed in the absolute frameduring a walk-through programming experiment

positions and velocities and the reference motor currentsand the external PC replies sending the reference jointpositions and velocities

An ATI 6-axis wrist forcetorque sensor (see Fig 6 andTable 33 for further details) is fitted to the arm end-effectorand linked to the PC through a DAQ board that is managedby the RTAI system thanks to a real-time extension of theComedi drivers1 The analogue voltages generated by thedevice are acquired by a dedicated real-time thread that runsperiodically at a frequency of 10 kHz This thread is also incharge of reducing the effect of measurement noise filteringeach channel with a 10th-order moving average filter

The easiest way to implement the walk-throughprogramming technique on an industrial robot controlleris by enforcing the dynamics of the virtual tool throughan admittance controller as described in Section 31 Anexternal loop is then closed outside the position control loopsin the industrial controller (Fig 2) the admittance controllerfed by the measurements of forces and moments acquired by

0 10 20 30 40 50-500

0

500

v x [mm

s]

0 10 20 30 40 50-500

0

500

v y [mm

s]

0 10 20 30 40 50-100

0

100

Time [s]

v z [mm

s]

(a)

0 10 20 30 40 50-500

0

500

ωx [m

rad

s]

0 10 20 30 40 50-500

0

500

ωy [m

rad

s]

0 10 20 30 40 50-100

0

100

Time [s]

ωz [m

rad

s]

(b)

Fig 9 The virtual tool linear (a) and angular (b) velocitiesexpressed in the absolute frame during a walk-throughprogramming experiment

a forcetorque sensor mounted on the end-effector yieldsmodifications to the joint position set-points in order toguarantee the prescribed compliant behaviour

Furthermore in order to fulfil all the safety requirementsdiscussed in Section 31 a set of safety constraints isintroduced

a virtual force proportional to the tool centre pointCartesian velocity by way of a nonlinear viscous frictioncoefficient that rapidly increases as the velocity approachesthe value of 250 mms is superimposed to the forcesmeasured by the forcetorque sensor (this force preventsthe human operator from exceeding the maximum velocityprescribed by the safety requirements for the teachingphase)

three virtual walls surrounding the workstation at thefront left and right side generate viscoelastic virtual forcesproportional to the penetration that are superimposed tothe forces measured by the forcetorque sensor (theseforces prevent the robot from exiting the predefined

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1151

(a) Tool trajectory

0 10 20 30 40 500

1

2

Err

or x

[mm

]

0 10 20 30 40 500

05

1

Err

or y

[mm

]

0 10 20 30 40 500

05

1

Err

or z

[mm

]

Time [s]

(b) Position errors

Fig 10 A comparison between the virtual tool experimentalpositions and the virtual tool trajectory obtained integrating thenonlinear motion equations in (4) and (5)

working area avoiding as much as possible a collisionbetween the robot and the human body)

A preliminary experiment shows the behaviour of thesystem in the absence of any safety constraint (Fig 7)It aims at comparing the trajectory executed by the robotemulating a spherical mass as the virtual tool and the onegenerated by a simulator that integrates the virtual toolmotion equations (4)ndash(5)

In this experiment the teacher walks the end-effectoraround a workstation a table of 40 times 80 cm length and 40 cmheight placed in front of the robot at 50 cm from the robotbase The virtual tool was given the mechanical propertiesof a sphere of 50 kg of mass and 5 cm of radius with aconstant viscous friction coefficient of 50 Nsm along eachtranslational direction and 10 Nmsrad along each rotationaldirection

Figures 8 and 9 show the forces and moments (expressedin the absolute frame) and the corresponding virtual toollinear and angular velocities (again expressed in the absolute

Fig 11 (Colour online) The experimental set-up with two examplesof the virtual walls

075 08 085 09 095 1 105 11 115-05

-04

-03

-02

-01

0

01

02

03

04

05

x [m]

y [m

]

Fig 12 The tool centre point trajectory in the xy plane (solid line)and the projection of the virtual walls on the xy plane (dashndashdottedline)

frame) These plots are useful to better understand the actionapplied by the operator on the robot end-effector and thecorresponding motion of the virtual tool which has thenbeen compared with the actual motion of the end-effector

Figure 10 shows such comparison between the trajectorywalked by the robot and the trajectory obtained integratingthe motion equations (4)ndash(5) fed by the forces and torquesmeasured during the experiment

Notice that the walk-through programming experimentdepicted here is characterised by several movementsinvolving tool position and orientation (Fig 10a) Thoughthe accelerations exerted by the teacher are sometimes evenlarger than the ones applied by an actual human operatorduring a teaching operation the robot always smoothlyaccommodates for the teacherrsquos commands

In any case Fig 10(b) clearly shows that the admittancefilters though simple and linear are adequate to describe themotion of the virtual tool In fact considering that the aimof the walk-through programming technique is to give the

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1152 Walk-through programming for robotic manipulators

0 2 4 6 8 10 12 14 1605

1

15

x [m

]

0 2 4 6 8 10 12 14 160

5

10

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v x [mm

s]

Time [s]

(a) x coordinate

0 2 4 6 8 10 12 14 16-05

0

05

y [m

]

0 2 4 6 8 10 12 14 160

20

40

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v y [mm

s]

Time [s]

(b) y coordinate

Fig 13 Time history of the xy coordinates limit imposed by thevirtual wall on the xy coordinates (dotted line) wall penetration μand tool centre point velocity along the xy directions

teacher the impression of moving the real tool instead of arobot an error in the range of few millimetres is acceptable

Another set of experiments aims at showing theeffectiveness of the safety constraints introduced inSections 32 and 33

To prevent as much as possible dangerous situations themotion of the robot has been confined to a box that includesthe workstation (Fig 11) Three virtual walls have beendefined one in front of the robot 11 m far from the robotbase and two at the left and right sides respectively each at adistance of 04 m from the robot base All these virtual wallsreact to a penetration of the robot end-effector generatinga viscoelastic virtual force characterised by a stiffness K of 5000 Nm and a damping D of 1000 Nsm For safetyreasons these virtual forces are limited to a maximum valueof 50 N

Figure 12 shows the projection of the virtual walls onthe ground plane (xy plane) together with the end-effectortrajectory the teacher drives the robot through a square that

0 5 10 15 20minus2000

0

2000

v x [mm

s]

0 5 10 15 20minus1000

0

1000

v y [mm

s]

0 5 10 15 20minus2000

0

2000

Time [s]

v z [mm

s]

Fig 14 An example of the effect of the variable friction coefficient(the dotted lines represent the velocity obtained simulating a set ofimpedance filters with constant friction) in keeping the tool centrepoint velocity below the safety limit of 250 mms (shown in thefigure by the dashed lines)

0 5 10 15 200

500

Dx [N

sm

]

0 5 10 15 200

200

400

Dy [N

sm

]

0 5 10 15 200

500

Time [s]

Dz [N

sm

]

Fig 15 Time history of the experimental friction coefficient appliedto limit the tool centre point velocity to 250 mms

touches all the three walls from right to left Figure 13 showsin detail the time history of the x and y coordinates and thetime instants at which a penetration in the virtual wall occursNote that when this happens the tool centre point velocityis almost instantaneously reduced so as to decrease as muchas possible the energy associated with the robot in case of animpact

Another way to enforce safety as described in Section 32relies on the introduction of a nonlinear viscous frictioncoefficient that forces the teacher to keep the tool centre pointvelocity below the safety limit of 250 mms Following thisrequirement relation (9) has been parameterised consideringa maximum velocity vsafe of 250 mms a maximum valueof the friction coefficient Dsafe of 800 Nsm and a rangevsafe of 001 ms

An experiment has been performed to show theeffectiveness of this approach Three high-speed linearmovements along the x y and z axis have been imposed

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1153

by the teacher Figure 14 shows a comparison between thetool centre point experimental velocities (solid lines) and thevelocities computed in simulation with a set of impedancefilters characterised by a constant friction coefficient (dottedlines) The dashed lines point out the limits at plusmn250 mms

The time history of the velocity demonstrates thatthe introduction of a nonlinear friction coefficient whichincreases as the tool centre point velocity approaches thesafety limit (Fig 15) can effectively impose a smoothconstraint on these velocities

5 ConclusionsAn implementation of the walk-through programming modeusing the admittance control approach has been described inthis paper

All the issues involved from the implementation of theadmittance control on an industrial robot controller to thesafety aspects due to the presence of the operator in therobotrsquos working envelope have been carefully considered Inparticular two safety strategies which exploit the admittancecontroller in order to keep the robot Cartesian velocity belowa safety threshold and to virtually separate the human bodyfrom the robot workspace have been investigated

A set of experiments completes the paper demonstratingthe behaviour of the walk-through programming mode andthe effects of the safety functionalities

AcknowledgementsThe research leading to these results has received fundingfrom the European Communityrsquos Seventh Framework Pro-gramme FP72007-2013mdashChallenge 2 Cognitive SystemsInteraction Roboticsmdashunder grant agreement No 231143ECHORD (Experiment FIDELIO)

References1 COMEDI ldquoLinux Control and Measurement Device

Interfacerdquo available at httpwwwcomediorg2 ldquoRTAI ndash Real Time Application Interfacerdquo available at

httpwwwrtaiorg3 ldquoRTnet ndash Hard Real-Time Networking for Real-Time Linuxrdquo

available at httpwwwrtnetorg4 Comau Robotics instruction handbook C4G OPEN System

Software Rel 333 20115 ISO 10218-12011 Robots for industrial environments

Safety requirementsndashPart 1 Robot (European Committee forStandardization 2011)

6 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing using Compliant ControlrdquoProceedings of the IEEE International Conference on Roboticsand Automation Minneapolis MN (Apr 1996) pp 1000ndash1005

7 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Reflexive MotionControlrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Albuquerque NM (Apr 1997)pp 2326ndash2331

8 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Variable ComplianceControlrdquo Proceedings of the IEEE International Conference

on Robotics and Automation Albuquerque NM (Apr 1997)pp 895ndash900

9 A Albu-Schaeffer and G Hirzinger ldquoCartesian ImpedanceControl Techniques for Torque Controlled Light-WeightRobotsrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Washington DC USA (2002)pp 657ndash663

10 H Ang W Lin and S-Y Lim ldquoA walk-through programmedrobot for welding in shipyardsrdquo Ind Robots 26(5) 377ndash388(1999)

11 M H Ang Jr and L S Yong ldquoAn Industrial Application ofControl of Dynamic Behavior of Robots ndash A Walk-ThroughProgrammed Welding Robotrdquo Proceedings of the IEEEInternational Conference on Robotics and Automation SanFrancisco CA USA (Apr 2000) pp 2352ndash2357

12 G Ferretti G Magnani and P Rocco ldquoAssigning VirtualTool Dynamics to an Industrial Robot Through an AdmittanceControllerrdquo Proceedings of the IEEE International Conferenceon Advanced Robotics Munich Bavaria (Jun 2009) pp 1ndash6

13 M Frigola J Poyatos A Casals and J Amat ldquoImprovingRobot Programming Flexibility Through Physical Human-Robot Interactionrdquo IROS Workshop on Robot Programmingby Demonstration Las Vegas USA (Oct 2003) pp 1ndash8

14 G Grunwald G Schreiber A Albu-Schaffer and G HirzingerldquoProgramming by touch The different way of human-robotinteractionrdquo IEEE Trans Ind Electron 50(4) 659ndash666 (2003)

15 A K Gupta and S K Arora Industrial Automation andRobotics (Laxmi Publications Daryaganj New Delhi 2007)

16 R Ikeura and H Inooka ldquoVariable Impedance Control of aRobot for Cooperation with a Humanrdquo Proceedings of theIEEE International Conference on Robotics and AutomationNagoya Japan (1995) pp 3097ndash3102

17 M Jakopec S J Harris F Rodriguez y Baena P GomesJ Cobb and B L Davies ldquoThe first clinical application of aldquohands-onrdquo robotic knee surgery systemrdquo Comput Aided Surg6(6) 329ndash339 (2001)

18 R Kumar P Berkelman P Gupta A Barnes P S JensenL L Whitcomb and R H Taylor ldquoPreliminary Experimentsin Cooperative HumanRobot Force Control for Robot AssistedMicrosurgical Manipulationrdquo Proceedings of the IEEE Inter-national Conference on Robotics and Automation SanFrancisco CA (Apr 2000) pp 610ndash617

19 Occupational Safety and Health Administration (OSHA)OSHA Technical Manual Industrial robots and robotsystem safety (Section IV Chapter 4) US Department ofLabor Occupational Safety amp Health Administration NWWashington DC

20 T Ortmaier H Weiss U Hagn M Grebenstein M NicklA Albu-Schaffer C Ott S Jorg R Konietschke L Le-Tienand G Hirzinger ldquoA Hands-on-Robot for Accurate Placementof Pedicle Screwsrdquo Proceedings of the IEEE InternationalConference on Robotics and Automation Orlando FL (May2006) pp 4179ndash4186

21 C Powell ldquoCase study Kuntz Electroplating automated wheelpolishing systemrdquo Robotics (available at httpwwwroboticsorg) (2002)

22 ABB Robotics FC Programming Handle (2010)23 A Tellaeche R Arana M A Perez and I Maurtua ldquoAccurate

Manual Guided Robot Programming and Trajectory Correctionusing 3D Vision by Laser Triangulationrdquo Workshop IndustryndashAcademia Collaboration in the ECHORD Project A Bridge forEuropean Robotics Innovation IEEE International Conferenceon Robotics and Automation St Paul Minnesota USA (2012)pp 385ndash394

24 T Tsumugiwa R Yokogawa and K Yoshida ldquoStabilityAnalysis for Impedance Control of Robot for Human-RobotCooperative Task Systemrdquo Proceedings of the IEEERSJInternational Conference on Intelligent Robots and SystemsSendai Japan (Oct 2004) pp 3883ndash3888

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Page 7: Walk-through programming for robotic manipulators based on … · 2017. 2. 8. · COMAU robots. Though this device is very intuitive and can be placed on the robot, or attached to

Walk-through programming for robotic manipulators 1149

Fig 6 (Colour online) The Smart Six robot and a detail of the end-effector with the ATI forcetorque sensor

Table I Main specifications of the ATI forcetorque sensor

ATI SI-130-10

Range Fx Fy plusmn130 NRange Fz plusmn400 NRange Tx Ty plusmn10 NmRange Tz plusmn10 NmResolution Fx Fy 120 NResolution Fz 110 NResolution Tx Ty 1400 NmResolution Tz 1400 Nm

The viscoelastic virtual force fvw generated by the wall isthen given by

fvw = (Kwμ + Dwμ)nw

Adding this virtual force to the real forces measured by thesensor allows to prevent as much as possible the robot toolcentre point from entering the space behind the virtual wall

The virtual and real forces are then fed together into theadmittance filter to generate the robot motion

Then with the same approach more complex virtualsurfaces can be introduced Note that however the approachproposed here is limited to a point contact between the virtualwall and the tool centre point and any extension to morecomplex constraints requires further investigation

4 Experimental ResultsThe experimental set-up consists of a robot Smart Six (Fig 6)a 6 dof 6 kg payload industrial manipulator manufacturedby COMAU equipped with the open version of the COMAUC4G controller4 In the open version the C4G acting as anetwork client is linked to a real-time external PC through areal-time ethernet connection based on the RTnet protocol3

The real-time external PC acting as a network server is basedon the RTAI Linux real-time extension2 The two devicescommunicate at a frequency of 500 Hz every 2 ms theindustrial controller sends to the external PC the actual joint

Fig 7 (Colour online) The operator interacting with the robot during a walk-through programming operation

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1150 Walk-through programming for robotic manipulators

0 10 20 30 40 50-50

0

50

Fx [N

]

0 10 20 30 40 50-50

0

50

Fy [N

]

0 10 20 30 40 50-10

0

10

Time [s]

Fz [N

]

(a)

0 10 20 30 40 50-5

0

5

τ x [Nm

]

0 10 20 30 40 50-5

0

5

τ y [Nm

]

0 10 20 30 40 50-2

0

2

Time [s]

τ z [Nm

]

(b)

Fig 8 Forces (a) and torques (b) expressed in the absolute frameduring a walk-through programming experiment

positions and velocities and the reference motor currentsand the external PC replies sending the reference jointpositions and velocities

An ATI 6-axis wrist forcetorque sensor (see Fig 6 andTable 33 for further details) is fitted to the arm end-effectorand linked to the PC through a DAQ board that is managedby the RTAI system thanks to a real-time extension of theComedi drivers1 The analogue voltages generated by thedevice are acquired by a dedicated real-time thread that runsperiodically at a frequency of 10 kHz This thread is also incharge of reducing the effect of measurement noise filteringeach channel with a 10th-order moving average filter

The easiest way to implement the walk-throughprogramming technique on an industrial robot controlleris by enforcing the dynamics of the virtual tool throughan admittance controller as described in Section 31 Anexternal loop is then closed outside the position control loopsin the industrial controller (Fig 2) the admittance controllerfed by the measurements of forces and moments acquired by

0 10 20 30 40 50-500

0

500

v x [mm

s]

0 10 20 30 40 50-500

0

500

v y [mm

s]

0 10 20 30 40 50-100

0

100

Time [s]

v z [mm

s]

(a)

0 10 20 30 40 50-500

0

500

ωx [m

rad

s]

0 10 20 30 40 50-500

0

500

ωy [m

rad

s]

0 10 20 30 40 50-100

0

100

Time [s]

ωz [m

rad

s]

(b)

Fig 9 The virtual tool linear (a) and angular (b) velocitiesexpressed in the absolute frame during a walk-throughprogramming experiment

a forcetorque sensor mounted on the end-effector yieldsmodifications to the joint position set-points in order toguarantee the prescribed compliant behaviour

Furthermore in order to fulfil all the safety requirementsdiscussed in Section 31 a set of safety constraints isintroduced

a virtual force proportional to the tool centre pointCartesian velocity by way of a nonlinear viscous frictioncoefficient that rapidly increases as the velocity approachesthe value of 250 mms is superimposed to the forcesmeasured by the forcetorque sensor (this force preventsthe human operator from exceeding the maximum velocityprescribed by the safety requirements for the teachingphase)

three virtual walls surrounding the workstation at thefront left and right side generate viscoelastic virtual forcesproportional to the penetration that are superimposed tothe forces measured by the forcetorque sensor (theseforces prevent the robot from exiting the predefined

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1151

(a) Tool trajectory

0 10 20 30 40 500

1

2

Err

or x

[mm

]

0 10 20 30 40 500

05

1

Err

or y

[mm

]

0 10 20 30 40 500

05

1

Err

or z

[mm

]

Time [s]

(b) Position errors

Fig 10 A comparison between the virtual tool experimentalpositions and the virtual tool trajectory obtained integrating thenonlinear motion equations in (4) and (5)

working area avoiding as much as possible a collisionbetween the robot and the human body)

A preliminary experiment shows the behaviour of thesystem in the absence of any safety constraint (Fig 7)It aims at comparing the trajectory executed by the robotemulating a spherical mass as the virtual tool and the onegenerated by a simulator that integrates the virtual toolmotion equations (4)ndash(5)

In this experiment the teacher walks the end-effectoraround a workstation a table of 40 times 80 cm length and 40 cmheight placed in front of the robot at 50 cm from the robotbase The virtual tool was given the mechanical propertiesof a sphere of 50 kg of mass and 5 cm of radius with aconstant viscous friction coefficient of 50 Nsm along eachtranslational direction and 10 Nmsrad along each rotationaldirection

Figures 8 and 9 show the forces and moments (expressedin the absolute frame) and the corresponding virtual toollinear and angular velocities (again expressed in the absolute

Fig 11 (Colour online) The experimental set-up with two examplesof the virtual walls

075 08 085 09 095 1 105 11 115-05

-04

-03

-02

-01

0

01

02

03

04

05

x [m]

y [m

]

Fig 12 The tool centre point trajectory in the xy plane (solid line)and the projection of the virtual walls on the xy plane (dashndashdottedline)

frame) These plots are useful to better understand the actionapplied by the operator on the robot end-effector and thecorresponding motion of the virtual tool which has thenbeen compared with the actual motion of the end-effector

Figure 10 shows such comparison between the trajectorywalked by the robot and the trajectory obtained integratingthe motion equations (4)ndash(5) fed by the forces and torquesmeasured during the experiment

Notice that the walk-through programming experimentdepicted here is characterised by several movementsinvolving tool position and orientation (Fig 10a) Thoughthe accelerations exerted by the teacher are sometimes evenlarger than the ones applied by an actual human operatorduring a teaching operation the robot always smoothlyaccommodates for the teacherrsquos commands

In any case Fig 10(b) clearly shows that the admittancefilters though simple and linear are adequate to describe themotion of the virtual tool In fact considering that the aimof the walk-through programming technique is to give the

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1152 Walk-through programming for robotic manipulators

0 2 4 6 8 10 12 14 1605

1

15

x [m

]

0 2 4 6 8 10 12 14 160

5

10

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v x [mm

s]

Time [s]

(a) x coordinate

0 2 4 6 8 10 12 14 16-05

0

05

y [m

]

0 2 4 6 8 10 12 14 160

20

40

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v y [mm

s]

Time [s]

(b) y coordinate

Fig 13 Time history of the xy coordinates limit imposed by thevirtual wall on the xy coordinates (dotted line) wall penetration μand tool centre point velocity along the xy directions

teacher the impression of moving the real tool instead of arobot an error in the range of few millimetres is acceptable

Another set of experiments aims at showing theeffectiveness of the safety constraints introduced inSections 32 and 33

To prevent as much as possible dangerous situations themotion of the robot has been confined to a box that includesthe workstation (Fig 11) Three virtual walls have beendefined one in front of the robot 11 m far from the robotbase and two at the left and right sides respectively each at adistance of 04 m from the robot base All these virtual wallsreact to a penetration of the robot end-effector generatinga viscoelastic virtual force characterised by a stiffness K of 5000 Nm and a damping D of 1000 Nsm For safetyreasons these virtual forces are limited to a maximum valueof 50 N

Figure 12 shows the projection of the virtual walls onthe ground plane (xy plane) together with the end-effectortrajectory the teacher drives the robot through a square that

0 5 10 15 20minus2000

0

2000

v x [mm

s]

0 5 10 15 20minus1000

0

1000

v y [mm

s]

0 5 10 15 20minus2000

0

2000

Time [s]

v z [mm

s]

Fig 14 An example of the effect of the variable friction coefficient(the dotted lines represent the velocity obtained simulating a set ofimpedance filters with constant friction) in keeping the tool centrepoint velocity below the safety limit of 250 mms (shown in thefigure by the dashed lines)

0 5 10 15 200

500

Dx [N

sm

]

0 5 10 15 200

200

400

Dy [N

sm

]

0 5 10 15 200

500

Time [s]

Dz [N

sm

]

Fig 15 Time history of the experimental friction coefficient appliedto limit the tool centre point velocity to 250 mms

touches all the three walls from right to left Figure 13 showsin detail the time history of the x and y coordinates and thetime instants at which a penetration in the virtual wall occursNote that when this happens the tool centre point velocityis almost instantaneously reduced so as to decrease as muchas possible the energy associated with the robot in case of animpact

Another way to enforce safety as described in Section 32relies on the introduction of a nonlinear viscous frictioncoefficient that forces the teacher to keep the tool centre pointvelocity below the safety limit of 250 mms Following thisrequirement relation (9) has been parameterised consideringa maximum velocity vsafe of 250 mms a maximum valueof the friction coefficient Dsafe of 800 Nsm and a rangevsafe of 001 ms

An experiment has been performed to show theeffectiveness of this approach Three high-speed linearmovements along the x y and z axis have been imposed

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1153

by the teacher Figure 14 shows a comparison between thetool centre point experimental velocities (solid lines) and thevelocities computed in simulation with a set of impedancefilters characterised by a constant friction coefficient (dottedlines) The dashed lines point out the limits at plusmn250 mms

The time history of the velocity demonstrates thatthe introduction of a nonlinear friction coefficient whichincreases as the tool centre point velocity approaches thesafety limit (Fig 15) can effectively impose a smoothconstraint on these velocities

5 ConclusionsAn implementation of the walk-through programming modeusing the admittance control approach has been described inthis paper

All the issues involved from the implementation of theadmittance control on an industrial robot controller to thesafety aspects due to the presence of the operator in therobotrsquos working envelope have been carefully considered Inparticular two safety strategies which exploit the admittancecontroller in order to keep the robot Cartesian velocity belowa safety threshold and to virtually separate the human bodyfrom the robot workspace have been investigated

A set of experiments completes the paper demonstratingthe behaviour of the walk-through programming mode andthe effects of the safety functionalities

AcknowledgementsThe research leading to these results has received fundingfrom the European Communityrsquos Seventh Framework Pro-gramme FP72007-2013mdashChallenge 2 Cognitive SystemsInteraction Roboticsmdashunder grant agreement No 231143ECHORD (Experiment FIDELIO)

References1 COMEDI ldquoLinux Control and Measurement Device

Interfacerdquo available at httpwwwcomediorg2 ldquoRTAI ndash Real Time Application Interfacerdquo available at

httpwwwrtaiorg3 ldquoRTnet ndash Hard Real-Time Networking for Real-Time Linuxrdquo

available at httpwwwrtnetorg4 Comau Robotics instruction handbook C4G OPEN System

Software Rel 333 20115 ISO 10218-12011 Robots for industrial environments

Safety requirementsndashPart 1 Robot (European Committee forStandardization 2011)

6 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing using Compliant ControlrdquoProceedings of the IEEE International Conference on Roboticsand Automation Minneapolis MN (Apr 1996) pp 1000ndash1005

7 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Reflexive MotionControlrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Albuquerque NM (Apr 1997)pp 2326ndash2331

8 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Variable ComplianceControlrdquo Proceedings of the IEEE International Conference

on Robotics and Automation Albuquerque NM (Apr 1997)pp 895ndash900

9 A Albu-Schaeffer and G Hirzinger ldquoCartesian ImpedanceControl Techniques for Torque Controlled Light-WeightRobotsrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Washington DC USA (2002)pp 657ndash663

10 H Ang W Lin and S-Y Lim ldquoA walk-through programmedrobot for welding in shipyardsrdquo Ind Robots 26(5) 377ndash388(1999)

11 M H Ang Jr and L S Yong ldquoAn Industrial Application ofControl of Dynamic Behavior of Robots ndash A Walk-ThroughProgrammed Welding Robotrdquo Proceedings of the IEEEInternational Conference on Robotics and Automation SanFrancisco CA USA (Apr 2000) pp 2352ndash2357

12 G Ferretti G Magnani and P Rocco ldquoAssigning VirtualTool Dynamics to an Industrial Robot Through an AdmittanceControllerrdquo Proceedings of the IEEE International Conferenceon Advanced Robotics Munich Bavaria (Jun 2009) pp 1ndash6

13 M Frigola J Poyatos A Casals and J Amat ldquoImprovingRobot Programming Flexibility Through Physical Human-Robot Interactionrdquo IROS Workshop on Robot Programmingby Demonstration Las Vegas USA (Oct 2003) pp 1ndash8

14 G Grunwald G Schreiber A Albu-Schaffer and G HirzingerldquoProgramming by touch The different way of human-robotinteractionrdquo IEEE Trans Ind Electron 50(4) 659ndash666 (2003)

15 A K Gupta and S K Arora Industrial Automation andRobotics (Laxmi Publications Daryaganj New Delhi 2007)

16 R Ikeura and H Inooka ldquoVariable Impedance Control of aRobot for Cooperation with a Humanrdquo Proceedings of theIEEE International Conference on Robotics and AutomationNagoya Japan (1995) pp 3097ndash3102

17 M Jakopec S J Harris F Rodriguez y Baena P GomesJ Cobb and B L Davies ldquoThe first clinical application of aldquohands-onrdquo robotic knee surgery systemrdquo Comput Aided Surg6(6) 329ndash339 (2001)

18 R Kumar P Berkelman P Gupta A Barnes P S JensenL L Whitcomb and R H Taylor ldquoPreliminary Experimentsin Cooperative HumanRobot Force Control for Robot AssistedMicrosurgical Manipulationrdquo Proceedings of the IEEE Inter-national Conference on Robotics and Automation SanFrancisco CA (Apr 2000) pp 610ndash617

19 Occupational Safety and Health Administration (OSHA)OSHA Technical Manual Industrial robots and robotsystem safety (Section IV Chapter 4) US Department ofLabor Occupational Safety amp Health Administration NWWashington DC

20 T Ortmaier H Weiss U Hagn M Grebenstein M NicklA Albu-Schaffer C Ott S Jorg R Konietschke L Le-Tienand G Hirzinger ldquoA Hands-on-Robot for Accurate Placementof Pedicle Screwsrdquo Proceedings of the IEEE InternationalConference on Robotics and Automation Orlando FL (May2006) pp 4179ndash4186

21 C Powell ldquoCase study Kuntz Electroplating automated wheelpolishing systemrdquo Robotics (available at httpwwwroboticsorg) (2002)

22 ABB Robotics FC Programming Handle (2010)23 A Tellaeche R Arana M A Perez and I Maurtua ldquoAccurate

Manual Guided Robot Programming and Trajectory Correctionusing 3D Vision by Laser Triangulationrdquo Workshop IndustryndashAcademia Collaboration in the ECHORD Project A Bridge forEuropean Robotics Innovation IEEE International Conferenceon Robotics and Automation St Paul Minnesota USA (2012)pp 385ndash394

24 T Tsumugiwa R Yokogawa and K Yoshida ldquoStabilityAnalysis for Impedance Control of Robot for Human-RobotCooperative Task Systemrdquo Proceedings of the IEEERSJInternational Conference on Intelligent Robots and SystemsSendai Japan (Oct 2004) pp 3883ndash3888

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Page 8: Walk-through programming for robotic manipulators based on … · 2017. 2. 8. · COMAU robots. Though this device is very intuitive and can be placed on the robot, or attached to

1150 Walk-through programming for robotic manipulators

0 10 20 30 40 50-50

0

50

Fx [N

]

0 10 20 30 40 50-50

0

50

Fy [N

]

0 10 20 30 40 50-10

0

10

Time [s]

Fz [N

]

(a)

0 10 20 30 40 50-5

0

5

τ x [Nm

]

0 10 20 30 40 50-5

0

5

τ y [Nm

]

0 10 20 30 40 50-2

0

2

Time [s]

τ z [Nm

]

(b)

Fig 8 Forces (a) and torques (b) expressed in the absolute frameduring a walk-through programming experiment

positions and velocities and the reference motor currentsand the external PC replies sending the reference jointpositions and velocities

An ATI 6-axis wrist forcetorque sensor (see Fig 6 andTable 33 for further details) is fitted to the arm end-effectorand linked to the PC through a DAQ board that is managedby the RTAI system thanks to a real-time extension of theComedi drivers1 The analogue voltages generated by thedevice are acquired by a dedicated real-time thread that runsperiodically at a frequency of 10 kHz This thread is also incharge of reducing the effect of measurement noise filteringeach channel with a 10th-order moving average filter

The easiest way to implement the walk-throughprogramming technique on an industrial robot controlleris by enforcing the dynamics of the virtual tool throughan admittance controller as described in Section 31 Anexternal loop is then closed outside the position control loopsin the industrial controller (Fig 2) the admittance controllerfed by the measurements of forces and moments acquired by

0 10 20 30 40 50-500

0

500

v x [mm

s]

0 10 20 30 40 50-500

0

500

v y [mm

s]

0 10 20 30 40 50-100

0

100

Time [s]

v z [mm

s]

(a)

0 10 20 30 40 50-500

0

500

ωx [m

rad

s]

0 10 20 30 40 50-500

0

500

ωy [m

rad

s]

0 10 20 30 40 50-100

0

100

Time [s]

ωz [m

rad

s]

(b)

Fig 9 The virtual tool linear (a) and angular (b) velocitiesexpressed in the absolute frame during a walk-throughprogramming experiment

a forcetorque sensor mounted on the end-effector yieldsmodifications to the joint position set-points in order toguarantee the prescribed compliant behaviour

Furthermore in order to fulfil all the safety requirementsdiscussed in Section 31 a set of safety constraints isintroduced

a virtual force proportional to the tool centre pointCartesian velocity by way of a nonlinear viscous frictioncoefficient that rapidly increases as the velocity approachesthe value of 250 mms is superimposed to the forcesmeasured by the forcetorque sensor (this force preventsthe human operator from exceeding the maximum velocityprescribed by the safety requirements for the teachingphase)

three virtual walls surrounding the workstation at thefront left and right side generate viscoelastic virtual forcesproportional to the penetration that are superimposed tothe forces measured by the forcetorque sensor (theseforces prevent the robot from exiting the predefined

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1151

(a) Tool trajectory

0 10 20 30 40 500

1

2

Err

or x

[mm

]

0 10 20 30 40 500

05

1

Err

or y

[mm

]

0 10 20 30 40 500

05

1

Err

or z

[mm

]

Time [s]

(b) Position errors

Fig 10 A comparison between the virtual tool experimentalpositions and the virtual tool trajectory obtained integrating thenonlinear motion equations in (4) and (5)

working area avoiding as much as possible a collisionbetween the robot and the human body)

A preliminary experiment shows the behaviour of thesystem in the absence of any safety constraint (Fig 7)It aims at comparing the trajectory executed by the robotemulating a spherical mass as the virtual tool and the onegenerated by a simulator that integrates the virtual toolmotion equations (4)ndash(5)

In this experiment the teacher walks the end-effectoraround a workstation a table of 40 times 80 cm length and 40 cmheight placed in front of the robot at 50 cm from the robotbase The virtual tool was given the mechanical propertiesof a sphere of 50 kg of mass and 5 cm of radius with aconstant viscous friction coefficient of 50 Nsm along eachtranslational direction and 10 Nmsrad along each rotationaldirection

Figures 8 and 9 show the forces and moments (expressedin the absolute frame) and the corresponding virtual toollinear and angular velocities (again expressed in the absolute

Fig 11 (Colour online) The experimental set-up with two examplesof the virtual walls

075 08 085 09 095 1 105 11 115-05

-04

-03

-02

-01

0

01

02

03

04

05

x [m]

y [m

]

Fig 12 The tool centre point trajectory in the xy plane (solid line)and the projection of the virtual walls on the xy plane (dashndashdottedline)

frame) These plots are useful to better understand the actionapplied by the operator on the robot end-effector and thecorresponding motion of the virtual tool which has thenbeen compared with the actual motion of the end-effector

Figure 10 shows such comparison between the trajectorywalked by the robot and the trajectory obtained integratingthe motion equations (4)ndash(5) fed by the forces and torquesmeasured during the experiment

Notice that the walk-through programming experimentdepicted here is characterised by several movementsinvolving tool position and orientation (Fig 10a) Thoughthe accelerations exerted by the teacher are sometimes evenlarger than the ones applied by an actual human operatorduring a teaching operation the robot always smoothlyaccommodates for the teacherrsquos commands

In any case Fig 10(b) clearly shows that the admittancefilters though simple and linear are adequate to describe themotion of the virtual tool In fact considering that the aimof the walk-through programming technique is to give the

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1152 Walk-through programming for robotic manipulators

0 2 4 6 8 10 12 14 1605

1

15

x [m

]

0 2 4 6 8 10 12 14 160

5

10

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v x [mm

s]

Time [s]

(a) x coordinate

0 2 4 6 8 10 12 14 16-05

0

05

y [m

]

0 2 4 6 8 10 12 14 160

20

40

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v y [mm

s]

Time [s]

(b) y coordinate

Fig 13 Time history of the xy coordinates limit imposed by thevirtual wall on the xy coordinates (dotted line) wall penetration μand tool centre point velocity along the xy directions

teacher the impression of moving the real tool instead of arobot an error in the range of few millimetres is acceptable

Another set of experiments aims at showing theeffectiveness of the safety constraints introduced inSections 32 and 33

To prevent as much as possible dangerous situations themotion of the robot has been confined to a box that includesthe workstation (Fig 11) Three virtual walls have beendefined one in front of the robot 11 m far from the robotbase and two at the left and right sides respectively each at adistance of 04 m from the robot base All these virtual wallsreact to a penetration of the robot end-effector generatinga viscoelastic virtual force characterised by a stiffness K of 5000 Nm and a damping D of 1000 Nsm For safetyreasons these virtual forces are limited to a maximum valueof 50 N

Figure 12 shows the projection of the virtual walls onthe ground plane (xy plane) together with the end-effectortrajectory the teacher drives the robot through a square that

0 5 10 15 20minus2000

0

2000

v x [mm

s]

0 5 10 15 20minus1000

0

1000

v y [mm

s]

0 5 10 15 20minus2000

0

2000

Time [s]

v z [mm

s]

Fig 14 An example of the effect of the variable friction coefficient(the dotted lines represent the velocity obtained simulating a set ofimpedance filters with constant friction) in keeping the tool centrepoint velocity below the safety limit of 250 mms (shown in thefigure by the dashed lines)

0 5 10 15 200

500

Dx [N

sm

]

0 5 10 15 200

200

400

Dy [N

sm

]

0 5 10 15 200

500

Time [s]

Dz [N

sm

]

Fig 15 Time history of the experimental friction coefficient appliedto limit the tool centre point velocity to 250 mms

touches all the three walls from right to left Figure 13 showsin detail the time history of the x and y coordinates and thetime instants at which a penetration in the virtual wall occursNote that when this happens the tool centre point velocityis almost instantaneously reduced so as to decrease as muchas possible the energy associated with the robot in case of animpact

Another way to enforce safety as described in Section 32relies on the introduction of a nonlinear viscous frictioncoefficient that forces the teacher to keep the tool centre pointvelocity below the safety limit of 250 mms Following thisrequirement relation (9) has been parameterised consideringa maximum velocity vsafe of 250 mms a maximum valueof the friction coefficient Dsafe of 800 Nsm and a rangevsafe of 001 ms

An experiment has been performed to show theeffectiveness of this approach Three high-speed linearmovements along the x y and z axis have been imposed

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1153

by the teacher Figure 14 shows a comparison between thetool centre point experimental velocities (solid lines) and thevelocities computed in simulation with a set of impedancefilters characterised by a constant friction coefficient (dottedlines) The dashed lines point out the limits at plusmn250 mms

The time history of the velocity demonstrates thatthe introduction of a nonlinear friction coefficient whichincreases as the tool centre point velocity approaches thesafety limit (Fig 15) can effectively impose a smoothconstraint on these velocities

5 ConclusionsAn implementation of the walk-through programming modeusing the admittance control approach has been described inthis paper

All the issues involved from the implementation of theadmittance control on an industrial robot controller to thesafety aspects due to the presence of the operator in therobotrsquos working envelope have been carefully considered Inparticular two safety strategies which exploit the admittancecontroller in order to keep the robot Cartesian velocity belowa safety threshold and to virtually separate the human bodyfrom the robot workspace have been investigated

A set of experiments completes the paper demonstratingthe behaviour of the walk-through programming mode andthe effects of the safety functionalities

AcknowledgementsThe research leading to these results has received fundingfrom the European Communityrsquos Seventh Framework Pro-gramme FP72007-2013mdashChallenge 2 Cognitive SystemsInteraction Roboticsmdashunder grant agreement No 231143ECHORD (Experiment FIDELIO)

References1 COMEDI ldquoLinux Control and Measurement Device

Interfacerdquo available at httpwwwcomediorg2 ldquoRTAI ndash Real Time Application Interfacerdquo available at

httpwwwrtaiorg3 ldquoRTnet ndash Hard Real-Time Networking for Real-Time Linuxrdquo

available at httpwwwrtnetorg4 Comau Robotics instruction handbook C4G OPEN System

Software Rel 333 20115 ISO 10218-12011 Robots for industrial environments

Safety requirementsndashPart 1 Robot (European Committee forStandardization 2011)

6 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing using Compliant ControlrdquoProceedings of the IEEE International Conference on Roboticsand Automation Minneapolis MN (Apr 1996) pp 1000ndash1005

7 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Reflexive MotionControlrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Albuquerque NM (Apr 1997)pp 2326ndash2331

8 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Variable ComplianceControlrdquo Proceedings of the IEEE International Conference

on Robotics and Automation Albuquerque NM (Apr 1997)pp 895ndash900

9 A Albu-Schaeffer and G Hirzinger ldquoCartesian ImpedanceControl Techniques for Torque Controlled Light-WeightRobotsrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Washington DC USA (2002)pp 657ndash663

10 H Ang W Lin and S-Y Lim ldquoA walk-through programmedrobot for welding in shipyardsrdquo Ind Robots 26(5) 377ndash388(1999)

11 M H Ang Jr and L S Yong ldquoAn Industrial Application ofControl of Dynamic Behavior of Robots ndash A Walk-ThroughProgrammed Welding Robotrdquo Proceedings of the IEEEInternational Conference on Robotics and Automation SanFrancisco CA USA (Apr 2000) pp 2352ndash2357

12 G Ferretti G Magnani and P Rocco ldquoAssigning VirtualTool Dynamics to an Industrial Robot Through an AdmittanceControllerrdquo Proceedings of the IEEE International Conferenceon Advanced Robotics Munich Bavaria (Jun 2009) pp 1ndash6

13 M Frigola J Poyatos A Casals and J Amat ldquoImprovingRobot Programming Flexibility Through Physical Human-Robot Interactionrdquo IROS Workshop on Robot Programmingby Demonstration Las Vegas USA (Oct 2003) pp 1ndash8

14 G Grunwald G Schreiber A Albu-Schaffer and G HirzingerldquoProgramming by touch The different way of human-robotinteractionrdquo IEEE Trans Ind Electron 50(4) 659ndash666 (2003)

15 A K Gupta and S K Arora Industrial Automation andRobotics (Laxmi Publications Daryaganj New Delhi 2007)

16 R Ikeura and H Inooka ldquoVariable Impedance Control of aRobot for Cooperation with a Humanrdquo Proceedings of theIEEE International Conference on Robotics and AutomationNagoya Japan (1995) pp 3097ndash3102

17 M Jakopec S J Harris F Rodriguez y Baena P GomesJ Cobb and B L Davies ldquoThe first clinical application of aldquohands-onrdquo robotic knee surgery systemrdquo Comput Aided Surg6(6) 329ndash339 (2001)

18 R Kumar P Berkelman P Gupta A Barnes P S JensenL L Whitcomb and R H Taylor ldquoPreliminary Experimentsin Cooperative HumanRobot Force Control for Robot AssistedMicrosurgical Manipulationrdquo Proceedings of the IEEE Inter-national Conference on Robotics and Automation SanFrancisco CA (Apr 2000) pp 610ndash617

19 Occupational Safety and Health Administration (OSHA)OSHA Technical Manual Industrial robots and robotsystem safety (Section IV Chapter 4) US Department ofLabor Occupational Safety amp Health Administration NWWashington DC

20 T Ortmaier H Weiss U Hagn M Grebenstein M NicklA Albu-Schaffer C Ott S Jorg R Konietschke L Le-Tienand G Hirzinger ldquoA Hands-on-Robot for Accurate Placementof Pedicle Screwsrdquo Proceedings of the IEEE InternationalConference on Robotics and Automation Orlando FL (May2006) pp 4179ndash4186

21 C Powell ldquoCase study Kuntz Electroplating automated wheelpolishing systemrdquo Robotics (available at httpwwwroboticsorg) (2002)

22 ABB Robotics FC Programming Handle (2010)23 A Tellaeche R Arana M A Perez and I Maurtua ldquoAccurate

Manual Guided Robot Programming and Trajectory Correctionusing 3D Vision by Laser Triangulationrdquo Workshop IndustryndashAcademia Collaboration in the ECHORD Project A Bridge forEuropean Robotics Innovation IEEE International Conferenceon Robotics and Automation St Paul Minnesota USA (2012)pp 385ndash394

24 T Tsumugiwa R Yokogawa and K Yoshida ldquoStabilityAnalysis for Impedance Control of Robot for Human-RobotCooperative Task Systemrdquo Proceedings of the IEEERSJInternational Conference on Intelligent Robots and SystemsSendai Japan (Oct 2004) pp 3883ndash3888

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Page 9: Walk-through programming for robotic manipulators based on … · 2017. 2. 8. · COMAU robots. Though this device is very intuitive and can be placed on the robot, or attached to

Walk-through programming for robotic manipulators 1151

(a) Tool trajectory

0 10 20 30 40 500

1

2

Err

or x

[mm

]

0 10 20 30 40 500

05

1

Err

or y

[mm

]

0 10 20 30 40 500

05

1

Err

or z

[mm

]

Time [s]

(b) Position errors

Fig 10 A comparison between the virtual tool experimentalpositions and the virtual tool trajectory obtained integrating thenonlinear motion equations in (4) and (5)

working area avoiding as much as possible a collisionbetween the robot and the human body)

A preliminary experiment shows the behaviour of thesystem in the absence of any safety constraint (Fig 7)It aims at comparing the trajectory executed by the robotemulating a spherical mass as the virtual tool and the onegenerated by a simulator that integrates the virtual toolmotion equations (4)ndash(5)

In this experiment the teacher walks the end-effectoraround a workstation a table of 40 times 80 cm length and 40 cmheight placed in front of the robot at 50 cm from the robotbase The virtual tool was given the mechanical propertiesof a sphere of 50 kg of mass and 5 cm of radius with aconstant viscous friction coefficient of 50 Nsm along eachtranslational direction and 10 Nmsrad along each rotationaldirection

Figures 8 and 9 show the forces and moments (expressedin the absolute frame) and the corresponding virtual toollinear and angular velocities (again expressed in the absolute

Fig 11 (Colour online) The experimental set-up with two examplesof the virtual walls

075 08 085 09 095 1 105 11 115-05

-04

-03

-02

-01

0

01

02

03

04

05

x [m]

y [m

]

Fig 12 The tool centre point trajectory in the xy plane (solid line)and the projection of the virtual walls on the xy plane (dashndashdottedline)

frame) These plots are useful to better understand the actionapplied by the operator on the robot end-effector and thecorresponding motion of the virtual tool which has thenbeen compared with the actual motion of the end-effector

Figure 10 shows such comparison between the trajectorywalked by the robot and the trajectory obtained integratingthe motion equations (4)ndash(5) fed by the forces and torquesmeasured during the experiment

Notice that the walk-through programming experimentdepicted here is characterised by several movementsinvolving tool position and orientation (Fig 10a) Thoughthe accelerations exerted by the teacher are sometimes evenlarger than the ones applied by an actual human operatorduring a teaching operation the robot always smoothlyaccommodates for the teacherrsquos commands

In any case Fig 10(b) clearly shows that the admittancefilters though simple and linear are adequate to describe themotion of the virtual tool In fact considering that the aimof the walk-through programming technique is to give the

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

1152 Walk-through programming for robotic manipulators

0 2 4 6 8 10 12 14 1605

1

15

x [m

]

0 2 4 6 8 10 12 14 160

5

10

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v x [mm

s]

Time [s]

(a) x coordinate

0 2 4 6 8 10 12 14 16-05

0

05

y [m

]

0 2 4 6 8 10 12 14 160

20

40

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v y [mm

s]

Time [s]

(b) y coordinate

Fig 13 Time history of the xy coordinates limit imposed by thevirtual wall on the xy coordinates (dotted line) wall penetration μand tool centre point velocity along the xy directions

teacher the impression of moving the real tool instead of arobot an error in the range of few millimetres is acceptable

Another set of experiments aims at showing theeffectiveness of the safety constraints introduced inSections 32 and 33

To prevent as much as possible dangerous situations themotion of the robot has been confined to a box that includesthe workstation (Fig 11) Three virtual walls have beendefined one in front of the robot 11 m far from the robotbase and two at the left and right sides respectively each at adistance of 04 m from the robot base All these virtual wallsreact to a penetration of the robot end-effector generatinga viscoelastic virtual force characterised by a stiffness K of 5000 Nm and a damping D of 1000 Nsm For safetyreasons these virtual forces are limited to a maximum valueof 50 N

Figure 12 shows the projection of the virtual walls onthe ground plane (xy plane) together with the end-effectortrajectory the teacher drives the robot through a square that

0 5 10 15 20minus2000

0

2000

v x [mm

s]

0 5 10 15 20minus1000

0

1000

v y [mm

s]

0 5 10 15 20minus2000

0

2000

Time [s]

v z [mm

s]

Fig 14 An example of the effect of the variable friction coefficient(the dotted lines represent the velocity obtained simulating a set ofimpedance filters with constant friction) in keeping the tool centrepoint velocity below the safety limit of 250 mms (shown in thefigure by the dashed lines)

0 5 10 15 200

500

Dx [N

sm

]

0 5 10 15 200

200

400

Dy [N

sm

]

0 5 10 15 200

500

Time [s]

Dz [N

sm

]

Fig 15 Time history of the experimental friction coefficient appliedto limit the tool centre point velocity to 250 mms

touches all the three walls from right to left Figure 13 showsin detail the time history of the x and y coordinates and thetime instants at which a penetration in the virtual wall occursNote that when this happens the tool centre point velocityis almost instantaneously reduced so as to decrease as muchas possible the energy associated with the robot in case of animpact

Another way to enforce safety as described in Section 32relies on the introduction of a nonlinear viscous frictioncoefficient that forces the teacher to keep the tool centre pointvelocity below the safety limit of 250 mms Following thisrequirement relation (9) has been parameterised consideringa maximum velocity vsafe of 250 mms a maximum valueof the friction coefficient Dsafe of 800 Nsm and a rangevsafe of 001 ms

An experiment has been performed to show theeffectiveness of this approach Three high-speed linearmovements along the x y and z axis have been imposed

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1153

by the teacher Figure 14 shows a comparison between thetool centre point experimental velocities (solid lines) and thevelocities computed in simulation with a set of impedancefilters characterised by a constant friction coefficient (dottedlines) The dashed lines point out the limits at plusmn250 mms

The time history of the velocity demonstrates thatthe introduction of a nonlinear friction coefficient whichincreases as the tool centre point velocity approaches thesafety limit (Fig 15) can effectively impose a smoothconstraint on these velocities

5 ConclusionsAn implementation of the walk-through programming modeusing the admittance control approach has been described inthis paper

All the issues involved from the implementation of theadmittance control on an industrial robot controller to thesafety aspects due to the presence of the operator in therobotrsquos working envelope have been carefully considered Inparticular two safety strategies which exploit the admittancecontroller in order to keep the robot Cartesian velocity belowa safety threshold and to virtually separate the human bodyfrom the robot workspace have been investigated

A set of experiments completes the paper demonstratingthe behaviour of the walk-through programming mode andthe effects of the safety functionalities

AcknowledgementsThe research leading to these results has received fundingfrom the European Communityrsquos Seventh Framework Pro-gramme FP72007-2013mdashChallenge 2 Cognitive SystemsInteraction Roboticsmdashunder grant agreement No 231143ECHORD (Experiment FIDELIO)

References1 COMEDI ldquoLinux Control and Measurement Device

Interfacerdquo available at httpwwwcomediorg2 ldquoRTAI ndash Real Time Application Interfacerdquo available at

httpwwwrtaiorg3 ldquoRTnet ndash Hard Real-Time Networking for Real-Time Linuxrdquo

available at httpwwwrtnetorg4 Comau Robotics instruction handbook C4G OPEN System

Software Rel 333 20115 ISO 10218-12011 Robots for industrial environments

Safety requirementsndashPart 1 Robot (European Committee forStandardization 2011)

6 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing using Compliant ControlrdquoProceedings of the IEEE International Conference on Roboticsand Automation Minneapolis MN (Apr 1996) pp 1000ndash1005

7 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Reflexive MotionControlrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Albuquerque NM (Apr 1997)pp 2326ndash2331

8 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Variable ComplianceControlrdquo Proceedings of the IEEE International Conference

on Robotics and Automation Albuquerque NM (Apr 1997)pp 895ndash900

9 A Albu-Schaeffer and G Hirzinger ldquoCartesian ImpedanceControl Techniques for Torque Controlled Light-WeightRobotsrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Washington DC USA (2002)pp 657ndash663

10 H Ang W Lin and S-Y Lim ldquoA walk-through programmedrobot for welding in shipyardsrdquo Ind Robots 26(5) 377ndash388(1999)

11 M H Ang Jr and L S Yong ldquoAn Industrial Application ofControl of Dynamic Behavior of Robots ndash A Walk-ThroughProgrammed Welding Robotrdquo Proceedings of the IEEEInternational Conference on Robotics and Automation SanFrancisco CA USA (Apr 2000) pp 2352ndash2357

12 G Ferretti G Magnani and P Rocco ldquoAssigning VirtualTool Dynamics to an Industrial Robot Through an AdmittanceControllerrdquo Proceedings of the IEEE International Conferenceon Advanced Robotics Munich Bavaria (Jun 2009) pp 1ndash6

13 M Frigola J Poyatos A Casals and J Amat ldquoImprovingRobot Programming Flexibility Through Physical Human-Robot Interactionrdquo IROS Workshop on Robot Programmingby Demonstration Las Vegas USA (Oct 2003) pp 1ndash8

14 G Grunwald G Schreiber A Albu-Schaffer and G HirzingerldquoProgramming by touch The different way of human-robotinteractionrdquo IEEE Trans Ind Electron 50(4) 659ndash666 (2003)

15 A K Gupta and S K Arora Industrial Automation andRobotics (Laxmi Publications Daryaganj New Delhi 2007)

16 R Ikeura and H Inooka ldquoVariable Impedance Control of aRobot for Cooperation with a Humanrdquo Proceedings of theIEEE International Conference on Robotics and AutomationNagoya Japan (1995) pp 3097ndash3102

17 M Jakopec S J Harris F Rodriguez y Baena P GomesJ Cobb and B L Davies ldquoThe first clinical application of aldquohands-onrdquo robotic knee surgery systemrdquo Comput Aided Surg6(6) 329ndash339 (2001)

18 R Kumar P Berkelman P Gupta A Barnes P S JensenL L Whitcomb and R H Taylor ldquoPreliminary Experimentsin Cooperative HumanRobot Force Control for Robot AssistedMicrosurgical Manipulationrdquo Proceedings of the IEEE Inter-national Conference on Robotics and Automation SanFrancisco CA (Apr 2000) pp 610ndash617

19 Occupational Safety and Health Administration (OSHA)OSHA Technical Manual Industrial robots and robotsystem safety (Section IV Chapter 4) US Department ofLabor Occupational Safety amp Health Administration NWWashington DC

20 T Ortmaier H Weiss U Hagn M Grebenstein M NicklA Albu-Schaffer C Ott S Jorg R Konietschke L Le-Tienand G Hirzinger ldquoA Hands-on-Robot for Accurate Placementof Pedicle Screwsrdquo Proceedings of the IEEE InternationalConference on Robotics and Automation Orlando FL (May2006) pp 4179ndash4186

21 C Powell ldquoCase study Kuntz Electroplating automated wheelpolishing systemrdquo Robotics (available at httpwwwroboticsorg) (2002)

22 ABB Robotics FC Programming Handle (2010)23 A Tellaeche R Arana M A Perez and I Maurtua ldquoAccurate

Manual Guided Robot Programming and Trajectory Correctionusing 3D Vision by Laser Triangulationrdquo Workshop IndustryndashAcademia Collaboration in the ECHORD Project A Bridge forEuropean Robotics Innovation IEEE International Conferenceon Robotics and Automation St Paul Minnesota USA (2012)pp 385ndash394

24 T Tsumugiwa R Yokogawa and K Yoshida ldquoStabilityAnalysis for Impedance Control of Robot for Human-RobotCooperative Task Systemrdquo Proceedings of the IEEERSJInternational Conference on Intelligent Robots and SystemsSendai Japan (Oct 2004) pp 3883ndash3888

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Page 10: Walk-through programming for robotic manipulators based on … · 2017. 2. 8. · COMAU robots. Though this device is very intuitive and can be placed on the robot, or attached to

1152 Walk-through programming for robotic manipulators

0 2 4 6 8 10 12 14 1605

1

15

x [m

]

0 2 4 6 8 10 12 14 160

5

10

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v x [mm

s]

Time [s]

(a) x coordinate

0 2 4 6 8 10 12 14 16-05

0

05

y [m

]

0 2 4 6 8 10 12 14 160

20

40

μ [m

m]

0 2 4 6 8 10 12 14 16-500

0

500

v y [mm

s]

Time [s]

(b) y coordinate

Fig 13 Time history of the xy coordinates limit imposed by thevirtual wall on the xy coordinates (dotted line) wall penetration μand tool centre point velocity along the xy directions

teacher the impression of moving the real tool instead of arobot an error in the range of few millimetres is acceptable

Another set of experiments aims at showing theeffectiveness of the safety constraints introduced inSections 32 and 33

To prevent as much as possible dangerous situations themotion of the robot has been confined to a box that includesthe workstation (Fig 11) Three virtual walls have beendefined one in front of the robot 11 m far from the robotbase and two at the left and right sides respectively each at adistance of 04 m from the robot base All these virtual wallsreact to a penetration of the robot end-effector generatinga viscoelastic virtual force characterised by a stiffness K of 5000 Nm and a damping D of 1000 Nsm For safetyreasons these virtual forces are limited to a maximum valueof 50 N

Figure 12 shows the projection of the virtual walls onthe ground plane (xy plane) together with the end-effectortrajectory the teacher drives the robot through a square that

0 5 10 15 20minus2000

0

2000

v x [mm

s]

0 5 10 15 20minus1000

0

1000

v y [mm

s]

0 5 10 15 20minus2000

0

2000

Time [s]

v z [mm

s]

Fig 14 An example of the effect of the variable friction coefficient(the dotted lines represent the velocity obtained simulating a set ofimpedance filters with constant friction) in keeping the tool centrepoint velocity below the safety limit of 250 mms (shown in thefigure by the dashed lines)

0 5 10 15 200

500

Dx [N

sm

]

0 5 10 15 200

200

400

Dy [N

sm

]

0 5 10 15 200

500

Time [s]

Dz [N

sm

]

Fig 15 Time history of the experimental friction coefficient appliedto limit the tool centre point velocity to 250 mms

touches all the three walls from right to left Figure 13 showsin detail the time history of the x and y coordinates and thetime instants at which a penetration in the virtual wall occursNote that when this happens the tool centre point velocityis almost instantaneously reduced so as to decrease as muchas possible the energy associated with the robot in case of animpact

Another way to enforce safety as described in Section 32relies on the introduction of a nonlinear viscous frictioncoefficient that forces the teacher to keep the tool centre pointvelocity below the safety limit of 250 mms Following thisrequirement relation (9) has been parameterised consideringa maximum velocity vsafe of 250 mms a maximum valueof the friction coefficient Dsafe of 800 Nsm and a rangevsafe of 001 ms

An experiment has been performed to show theeffectiveness of this approach Three high-speed linearmovements along the x y and z axis have been imposed

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Walk-through programming for robotic manipulators 1153

by the teacher Figure 14 shows a comparison between thetool centre point experimental velocities (solid lines) and thevelocities computed in simulation with a set of impedancefilters characterised by a constant friction coefficient (dottedlines) The dashed lines point out the limits at plusmn250 mms

The time history of the velocity demonstrates thatthe introduction of a nonlinear friction coefficient whichincreases as the tool centre point velocity approaches thesafety limit (Fig 15) can effectively impose a smoothconstraint on these velocities

5 ConclusionsAn implementation of the walk-through programming modeusing the admittance control approach has been described inthis paper

All the issues involved from the implementation of theadmittance control on an industrial robot controller to thesafety aspects due to the presence of the operator in therobotrsquos working envelope have been carefully considered Inparticular two safety strategies which exploit the admittancecontroller in order to keep the robot Cartesian velocity belowa safety threshold and to virtually separate the human bodyfrom the robot workspace have been investigated

A set of experiments completes the paper demonstratingthe behaviour of the walk-through programming mode andthe effects of the safety functionalities

AcknowledgementsThe research leading to these results has received fundingfrom the European Communityrsquos Seventh Framework Pro-gramme FP72007-2013mdashChallenge 2 Cognitive SystemsInteraction Roboticsmdashunder grant agreement No 231143ECHORD (Experiment FIDELIO)

References1 COMEDI ldquoLinux Control and Measurement Device

Interfacerdquo available at httpwwwcomediorg2 ldquoRTAI ndash Real Time Application Interfacerdquo available at

httpwwwrtaiorg3 ldquoRTnet ndash Hard Real-Time Networking for Real-Time Linuxrdquo

available at httpwwwrtnetorg4 Comau Robotics instruction handbook C4G OPEN System

Software Rel 333 20115 ISO 10218-12011 Robots for industrial environments

Safety requirementsndashPart 1 Robot (European Committee forStandardization 2011)

6 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing using Compliant ControlrdquoProceedings of the IEEE International Conference on Roboticsand Automation Minneapolis MN (Apr 1996) pp 1000ndash1005

7 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Reflexive MotionControlrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Albuquerque NM (Apr 1997)pp 2326ndash2331

8 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Variable ComplianceControlrdquo Proceedings of the IEEE International Conference

on Robotics and Automation Albuquerque NM (Apr 1997)pp 895ndash900

9 A Albu-Schaeffer and G Hirzinger ldquoCartesian ImpedanceControl Techniques for Torque Controlled Light-WeightRobotsrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Washington DC USA (2002)pp 657ndash663

10 H Ang W Lin and S-Y Lim ldquoA walk-through programmedrobot for welding in shipyardsrdquo Ind Robots 26(5) 377ndash388(1999)

11 M H Ang Jr and L S Yong ldquoAn Industrial Application ofControl of Dynamic Behavior of Robots ndash A Walk-ThroughProgrammed Welding Robotrdquo Proceedings of the IEEEInternational Conference on Robotics and Automation SanFrancisco CA USA (Apr 2000) pp 2352ndash2357

12 G Ferretti G Magnani and P Rocco ldquoAssigning VirtualTool Dynamics to an Industrial Robot Through an AdmittanceControllerrdquo Proceedings of the IEEE International Conferenceon Advanced Robotics Munich Bavaria (Jun 2009) pp 1ndash6

13 M Frigola J Poyatos A Casals and J Amat ldquoImprovingRobot Programming Flexibility Through Physical Human-Robot Interactionrdquo IROS Workshop on Robot Programmingby Demonstration Las Vegas USA (Oct 2003) pp 1ndash8

14 G Grunwald G Schreiber A Albu-Schaffer and G HirzingerldquoProgramming by touch The different way of human-robotinteractionrdquo IEEE Trans Ind Electron 50(4) 659ndash666 (2003)

15 A K Gupta and S K Arora Industrial Automation andRobotics (Laxmi Publications Daryaganj New Delhi 2007)

16 R Ikeura and H Inooka ldquoVariable Impedance Control of aRobot for Cooperation with a Humanrdquo Proceedings of theIEEE International Conference on Robotics and AutomationNagoya Japan (1995) pp 3097ndash3102

17 M Jakopec S J Harris F Rodriguez y Baena P GomesJ Cobb and B L Davies ldquoThe first clinical application of aldquohands-onrdquo robotic knee surgery systemrdquo Comput Aided Surg6(6) 329ndash339 (2001)

18 R Kumar P Berkelman P Gupta A Barnes P S JensenL L Whitcomb and R H Taylor ldquoPreliminary Experimentsin Cooperative HumanRobot Force Control for Robot AssistedMicrosurgical Manipulationrdquo Proceedings of the IEEE Inter-national Conference on Robotics and Automation SanFrancisco CA (Apr 2000) pp 610ndash617

19 Occupational Safety and Health Administration (OSHA)OSHA Technical Manual Industrial robots and robotsystem safety (Section IV Chapter 4) US Department ofLabor Occupational Safety amp Health Administration NWWashington DC

20 T Ortmaier H Weiss U Hagn M Grebenstein M NicklA Albu-Schaffer C Ott S Jorg R Konietschke L Le-Tienand G Hirzinger ldquoA Hands-on-Robot for Accurate Placementof Pedicle Screwsrdquo Proceedings of the IEEE InternationalConference on Robotics and Automation Orlando FL (May2006) pp 4179ndash4186

21 C Powell ldquoCase study Kuntz Electroplating automated wheelpolishing systemrdquo Robotics (available at httpwwwroboticsorg) (2002)

22 ABB Robotics FC Programming Handle (2010)23 A Tellaeche R Arana M A Perez and I Maurtua ldquoAccurate

Manual Guided Robot Programming and Trajectory Correctionusing 3D Vision by Laser Triangulationrdquo Workshop IndustryndashAcademia Collaboration in the ECHORD Project A Bridge forEuropean Robotics Innovation IEEE International Conferenceon Robotics and Automation St Paul Minnesota USA (2012)pp 385ndash394

24 T Tsumugiwa R Yokogawa and K Yoshida ldquoStabilityAnalysis for Impedance Control of Robot for Human-RobotCooperative Task Systemrdquo Proceedings of the IEEERSJInternational Conference on Intelligent Robots and SystemsSendai Japan (Oct 2004) pp 3883ndash3888

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms

Page 11: Walk-through programming for robotic manipulators based on … · 2017. 2. 8. · COMAU robots. Though this device is very intuitive and can be placed on the robot, or attached to

Walk-through programming for robotic manipulators 1153

by the teacher Figure 14 shows a comparison between thetool centre point experimental velocities (solid lines) and thevelocities computed in simulation with a set of impedancefilters characterised by a constant friction coefficient (dottedlines) The dashed lines point out the limits at plusmn250 mms

The time history of the velocity demonstrates thatthe introduction of a nonlinear friction coefficient whichincreases as the tool centre point velocity approaches thesafety limit (Fig 15) can effectively impose a smoothconstraint on these velocities

5 ConclusionsAn implementation of the walk-through programming modeusing the admittance control approach has been described inthis paper

All the issues involved from the implementation of theadmittance control on an industrial robot controller to thesafety aspects due to the presence of the operator in therobotrsquos working envelope have been carefully considered Inparticular two safety strategies which exploit the admittancecontroller in order to keep the robot Cartesian velocity belowa safety threshold and to virtually separate the human bodyfrom the robot workspace have been investigated

A set of experiments completes the paper demonstratingthe behaviour of the walk-through programming mode andthe effects of the safety functionalities

AcknowledgementsThe research leading to these results has received fundingfrom the European Communityrsquos Seventh Framework Pro-gramme FP72007-2013mdashChallenge 2 Cognitive SystemsInteraction Roboticsmdashunder grant agreement No 231143ECHORD (Experiment FIDELIO)

References1 COMEDI ldquoLinux Control and Measurement Device

Interfacerdquo available at httpwwwcomediorg2 ldquoRTAI ndash Real Time Application Interfacerdquo available at

httpwwwrtaiorg3 ldquoRTnet ndash Hard Real-Time Networking for Real-Time Linuxrdquo

available at httpwwwrtnetorg4 Comau Robotics instruction handbook C4G OPEN System

Software Rel 333 20115 ISO 10218-12011 Robots for industrial environments

Safety requirementsndashPart 1 Robot (European Committee forStandardization 2011)

6 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing using Compliant ControlrdquoProceedings of the IEEE International Conference on Roboticsand Automation Minneapolis MN (Apr 1996) pp 1000ndash1005

7 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Reflexive MotionControlrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Albuquerque NM (Apr 1997)pp 2326ndash2331

8 O M Al-Jarrah and Y F Zheng ldquoArm-ManipulatorCoordination for Load Sharing Using Variable ComplianceControlrdquo Proceedings of the IEEE International Conference

on Robotics and Automation Albuquerque NM (Apr 1997)pp 895ndash900

9 A Albu-Schaeffer and G Hirzinger ldquoCartesian ImpedanceControl Techniques for Torque Controlled Light-WeightRobotsrdquo Proceedings of the IEEE International Conferenceon Robotics and Automation Washington DC USA (2002)pp 657ndash663

10 H Ang W Lin and S-Y Lim ldquoA walk-through programmedrobot for welding in shipyardsrdquo Ind Robots 26(5) 377ndash388(1999)

11 M H Ang Jr and L S Yong ldquoAn Industrial Application ofControl of Dynamic Behavior of Robots ndash A Walk-ThroughProgrammed Welding Robotrdquo Proceedings of the IEEEInternational Conference on Robotics and Automation SanFrancisco CA USA (Apr 2000) pp 2352ndash2357

12 G Ferretti G Magnani and P Rocco ldquoAssigning VirtualTool Dynamics to an Industrial Robot Through an AdmittanceControllerrdquo Proceedings of the IEEE International Conferenceon Advanced Robotics Munich Bavaria (Jun 2009) pp 1ndash6

13 M Frigola J Poyatos A Casals and J Amat ldquoImprovingRobot Programming Flexibility Through Physical Human-Robot Interactionrdquo IROS Workshop on Robot Programmingby Demonstration Las Vegas USA (Oct 2003) pp 1ndash8

14 G Grunwald G Schreiber A Albu-Schaffer and G HirzingerldquoProgramming by touch The different way of human-robotinteractionrdquo IEEE Trans Ind Electron 50(4) 659ndash666 (2003)

15 A K Gupta and S K Arora Industrial Automation andRobotics (Laxmi Publications Daryaganj New Delhi 2007)

16 R Ikeura and H Inooka ldquoVariable Impedance Control of aRobot for Cooperation with a Humanrdquo Proceedings of theIEEE International Conference on Robotics and AutomationNagoya Japan (1995) pp 3097ndash3102

17 M Jakopec S J Harris F Rodriguez y Baena P GomesJ Cobb and B L Davies ldquoThe first clinical application of aldquohands-onrdquo robotic knee surgery systemrdquo Comput Aided Surg6(6) 329ndash339 (2001)

18 R Kumar P Berkelman P Gupta A Barnes P S JensenL L Whitcomb and R H Taylor ldquoPreliminary Experimentsin Cooperative HumanRobot Force Control for Robot AssistedMicrosurgical Manipulationrdquo Proceedings of the IEEE Inter-national Conference on Robotics and Automation SanFrancisco CA (Apr 2000) pp 610ndash617

19 Occupational Safety and Health Administration (OSHA)OSHA Technical Manual Industrial robots and robotsystem safety (Section IV Chapter 4) US Department ofLabor Occupational Safety amp Health Administration NWWashington DC

20 T Ortmaier H Weiss U Hagn M Grebenstein M NicklA Albu-Schaffer C Ott S Jorg R Konietschke L Le-Tienand G Hirzinger ldquoA Hands-on-Robot for Accurate Placementof Pedicle Screwsrdquo Proceedings of the IEEE InternationalConference on Robotics and Automation Orlando FL (May2006) pp 4179ndash4186

21 C Powell ldquoCase study Kuntz Electroplating automated wheelpolishing systemrdquo Robotics (available at httpwwwroboticsorg) (2002)

22 ABB Robotics FC Programming Handle (2010)23 A Tellaeche R Arana M A Perez and I Maurtua ldquoAccurate

Manual Guided Robot Programming and Trajectory Correctionusing 3D Vision by Laser Triangulationrdquo Workshop IndustryndashAcademia Collaboration in the ECHORD Project A Bridge forEuropean Robotics Innovation IEEE International Conferenceon Robotics and Automation St Paul Minnesota USA (2012)pp 385ndash394

24 T Tsumugiwa R Yokogawa and K Yoshida ldquoStabilityAnalysis for Impedance Control of Robot for Human-RobotCooperative Task Systemrdquo Proceedings of the IEEERSJInternational Conference on Intelligent Robots and SystemsSendai Japan (Oct 2004) pp 3883ndash3888

httpsdoiorg101017S0263574713000404Downloaded from httpswwwcambridgeorgcore Open University Library on 08 Feb 2017 at 171143 subject to the Cambridge Core terms of use available at httpswwwcambridgeorgcoreterms