Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COLLISION HANDLING BY A ROBOT
Document Type and Number:
WIPO Patent Application WO/2018/219952
Kind Code:
A1
Abstract:
The invention relates to a method for collision handling for a robot (1) with a kinematic chain structure comprising at least one kinematic chain, wherein the kinematic chain structure comprises: a base, links, joints connecting the links, actuators and at least one end-effector, a sensor S distal.i. in the most distal link of at least one of the kinematic chains for measuring/estimating force/torque, and sensors S i , for measuring/estimating proprioceptive data, wherein the sensors S i , are arbitrarily positioned along the kinematic chain structure, the method comprising the steps of: provide (SI) a model describing the dynamics of the robot (1), measure and/or estimate (S2) with sensor S distal.i force/torque F ext S,distal,i in the most distal link of at least one of the kinematic chains, - measure and/or estimate (S3) with the sensors S i , proprioceptive data: base and robot generalized coordinates q (t) and their time derivative (I), generalized joint motor forces (II), external forces F s , a base orientation φ B (t) and a base velocity (III), generate (S4) an estimate (IV) of the generalized external forces (V) with a momentum observer (3) based on at least one of the proprioceptive data and the model, generate (S5) an estimate (VI) of a second derivative of base and robot generalized coordinates (VII), based on (VIII) and (II), estimate (S6) a Cartesian acceleration (IX) of point D on the kinematic chain structure based on (VI), compensate (S7) the external forces F s for rigid body dynamics effects based on (IX) and for gravity effects to obtain an estimated external wrench (X), compensate (S8) (IV) for the Jacobian (XI); transformed F ext S.distal.i to obtain an estimation (XII) col of generalized joint forces originating from unexpected collisions, detect (S9) a collision based on given thresholds (XIII)

Application Number:
PCT/EP2018/064075
Publication Date:
December 06, 2018
Filing Date:
May 29, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRANKA EMIKA GMBH (DE)
International Classes:
B25J9/16
Other References:
JONATHAN VORNDAMME ET AL: "Collision detection, isolation and identification for humanoids", 2017 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA), 28 May 2017 (2017-05-28), pages 4754 - 4761, XP055502567, ISBN: 978-1-5090-4633-1, DOI: 10.1109/ICRA.2017.7989552
ANONYMOUS: "Program and Proceedings -Cloud Platform and Mobile App | ICRA 2017 | IEEE International Conference on Robotics and Automation 2017", 5 September 2018 (2018-09-05), XP055504706, Retrieved from the Internet [retrieved on 20180905]
ANONYMOUS: "Registration | ICRA 2017 | IEEE International Conference on Robotics and Automation 2017", 21 May 2017 (2017-05-21), XP055502694, Retrieved from the Internet [retrieved on 20180828]
K. BOUYARMANE; A. KHEDDAR: "On the dynamics modeling of free-floating-base articulated mechanisms and applications to humanoid whole-body dynamics and control", HUMANOIDS, 29 November 2012 (2012-11-29), XP002784551
FLACCO FABRIZIO ET AL: "Residual-based contacts estimation for humanoid robots", 2016 IEEE-RAS 16TH INTERNATIONAL CONFERENCE ON HUMANOID ROBOTS (HUMANOIDS), IEEE, 15 November 2016 (2016-11-15), pages 409 - 415, XP033036109, DOI: 10.1109/HUMANOIDS.2016.7803308
FILIPPO D'IPPOLITO ET AL: "Contact Estimation in Robot Interaction", INTERNATIONAL JOURNAL OF ADVANCED ROBOTIC SYSTEMS, vol. 11, 1 January 2014 (2014-01-01), AT, pages 1 - 10, XP055303197, ISSN: 1729-8806, DOI: 10.5772/58688
K. BOUYARMANE; A. KHEDDAR: "On the dynamics modeling of free-floating-base articulated mechanisms and applications to humanoid whole-body dynamics and control", HUMANOIDS, 2012
R. S. DAHIYA; P. MITTENDORFER; M. VALLE ET AL.: "Directions toward effective utilization of tactile skin: A review", IEEE SENSORS JOURNAL, 2013
A. DE LUCA; A. ALBU-SCHA''FFER; S. HADDADIN; G. HIRZINGER: "Collision detection and safe reaction with the DLR-III lightweight manipulator arm", IROS, 2006
A. DE LUCA; R. MATTONE: "Actuator failure detection and isolation using generalized momenta", ICRA, 2003
A. DE LUCA; R. MATTONE: "An adapt-and-detect actuator fdi scheme for robot manipulators", ICRA, 2004
A. DE LUCA; R. MATTONE: "Sensorless robot collision detection and hybrid force/motion control", ICRA, 2005
S. HADDADIN: "Towards Safe Robots", 2014, SPRINGER
S.-H. HYON; J. HALE; G. CHENG: "Full-body compliant human-humanoid interaction: Balancing in the presence of unknown external forces", IEEE TRANS. ROBOT., 2007
H.-B. KUNTZE; C. FREY; K. GIESEN; G. MILIGHETTI: "Fault tolerant supervisory control of human interactive robots", IFAC WORKSHOP ON ADVANCED CONTROL AND DIAGNOSIS, 2003
V. J. LUMELSKY; E. CHEUNG: "Real-time collision avoidance in tele-operated whole-sensitive robot arm manipulators", IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, 1993
G. D. MARIA; C. NATALE; S. PIROZZI: "Force/tactile sensor for robotic applications", SENSORS AND ACTUATORS A: PHYSICAL, 2012
S. MORINAGA; K. KOSUGE: "Collision detection system for manipulator based on adaptive impedance control law", ICRA, 2003
"Open Source Robotics Foundation", DRC SIMULATOR, 2015, Retrieved from the Internet
C. OTT; B. HENZE; D. LEE: "Kinesthetic teaching of humanoid motion based on whole-body compliance control with interaction- aware balancing", IROS, 2013
N. A. RADFORD; P. STRAWSER; K. HAMBUCHEN ET AL.: "Valkyrie: Nasa's first bipedal humanoid robot", JOURNAL OF FIELD ROBOTICS, 2015
V. SOTOUDEHNEJAD; M. R. KERMANI: "Velocity-based variable thresholds for improving collision detection in manipulators", ICRA, 2014
V. SOTOUDEHNEJAD; A. TAKHMAR; M. R. KERMANI; I. G. POLUSHIN: "Counteracting modeling errors for sensitive observer-based manipula- tor collision detection", IROS, 2012
M. STROHMAYR: "PhD thesis", 2012, KARLSRUHE INSTITUTE OF TECHNOLOGY, article "Artificial Skin in Robotics"
K. SUITA; Y. YAMADA; N. TSUCHIDA ET AL.: "A failure-to-safety ''kyozon'' system with simple contact detection and stop capabilities for safe human-autonomous robot coexistence", ICRA, 1995
S. TAKAKURA; T. MURAKAMI; K. OHNISHI: "An approach to collision detection and recovery motion in industrial robot", IECON, 1989
J. VORNDAMME; M. SCHAPPLER; A. TODTHEIDE; S. HADDADIN: "Soft robotics for the hydraulic Atlas arms: Joint impedance control with collision detection and disturbance compensation", IROS, October 2016 (2016-10-01), Retrieved from the Internet
Y. YAMADA; Y. HIRASAWA; S. HUANG ET AL.: "Human-robot contact in the safeguarding space", IEEE/ASME TRANSACTIONS ON MECHATRONICS, 1997
Attorney, Agent or Firm:
RÖSLER, Frank (DE)
Download PDF:
Claims:
Claims

Method for collision handling for a robot (1) with a kinematic chain structure comprising at least one kinematic chain, wherein the kinematic chain structure comprises: a base, links, joints connecting the links, actuators and at least one end-effector, a sensor Sdistal i in the most distal link of at least one of the kinematic chains for measuring/estimating force/torque, and sensors Si for

measuring/estimating proprioceptive data, wherein the sensors Si are arbitrarily positioned along the kinematic chain structure, the method comprising the steps of: provide (SI) a model describing the dynamics of the robot (1),

measure and/or estimate (S2) with sensor Sdistal i force/torque Fm S djsto; j in the most distal link of at least one of the kinematic chains,

measure and/or estimate (S3) with the sensors S, proprioceptive data: base and robot generalized coordinates q (t) and their time derivative q (t) , generalized joint motor forces xm , external forces Fs , a base orientation cpB (t) and a base velocity k (t)B ,

generate (S4) an estimate xe of the generalized external forces xext with a momentum observer (3) based on at least one of the proprioceptive data and the model,

generate (S5) an estimate q (t) of a second derivative of base and robot generalized coordinates q (t) , based on xe and xm ,

estimate (S6) a Cartesian acceleration xD of a point D on the kinematic chain structure based on q (t) ,

compensate (S7) Fs for rigid body dynamics effects based on xD and for gravity effects to obtain an estimated external wrench Fext s ; ,

compensate (S8) xe for the Jacobian JST djstal ; transformed Fext S distal i to obtain an estimation xext col of generalized joint forces originating from unexpected collisions,

detect (S9) a collision based on given thresholds xthresh and FS thresh if ext, coi > thresh and/or if Fext S i >Fs thresh .

2. Method according to claim 1,

wherein compensation wrenches for compensating the external forces Fs for rigid body dynamics effects based on xD and for gravity effects to obtain an estimated external wrench Fext s ; are generated recursively if multiple sensors S are attached to one of the joints or links.

Method according to one of the claims 1-2,

further comprising the step of:

determine (S10) contact locations rc of collisions with the kinematic chain structure by calculating a line of force action mj of the collision and by intersecting the line of force action with the kinematic chain structure geometry.

Method according to claim 3,

further comprising the steps of:

based on the determined contact locations rc determine (Sll) the full contact

Jacobians JCA= Jc> iJi ,

determine (S12) the external wrenches:

5. Method according to one of the claims 2 - 4,

- control (S13) the robot (1) dependent on r rc a a nnrdl f \ F Ϊ7

eeTxxtt , 1l " ..'. F eTxt , n

6. Method according to one of the claims 1 - 5,

wherein the robot (1) is a humanoid robot. 7. Computer system with a data processing unit,

wherein the data processing unit is designed and set up to carry out a method according to one of the preceding claims.

8. Digital data storage with electronically readable control signals, wherein the control signals can coaction with a programmable computer system, so that a method according to one of the preceding claims is carried out.

9. Computer program product comprising a program code stored in a machine- readable medium for executing a method according to one of the preceding claims, if the program code is executed on a computer system.

10. Computer program with program codes for executing a method according to one of the preceding claims, if the computer program runs on a computer system.

11. Robot (1) with a kinematic chain structure comprising at least one kinematic chain, wherein the kinematic chain structure comprises: a base, links, joints connecting the links, actuators and at least one end-effector, a sensor S^., in the most distal link of at least one of the kinematic chains for measuring/estimating force/torque, and sensors S, for measuring/estimating proprioceptive data, wherein the sensors S, are arbitrarily positioned along the kinematic chain structure, and wherein the robot (1) is designed and setup to carry out a method according to the preceding claims.

12. Robot (1) according to claim 11,

wherein the robot (1) comprises a data interface with a data network, and wherein the robot (1) is designed and setup to download system-programs for setting up and controlling the robot (1) from the data network.

13. Robot (1) according to one of the claims 11 - 12,

wherein the robot (1) being designed and setup to download parameters for the system-programs from the data network.

14. Robot (1) according to one of the claims 11 - 13,

wherein the robot (1) is designed and setup to enter parameters for the system- programs via a local input-interface and/or via a teach-in-process, and wherein the robot (1) is manually guided.

15. Robot (1) according to one of the claims 11 - 14,

wherein the robot (1) is designed and setup such that downloading system- programs and/or respective parameters from the data network is controlled by a remote station, the remote station being part of the data network.

16. Robot (1) according to one of the claims 11 - 15,

wherein the robot (1) is designed and setup such that system-programs and/or respective parameters locally available at the robot (1) are sent to one or more participants of the data network based on a respective request received from the data network.

17. Robot (1) according to one of the claims 11 - 16,

wherein the robot (1) is designed and setup such that system-programs with respective parameters available locally at the robot (1) can be started from a remote station, the remote station being part of the data network.

18. Robot (1) according to one of the claims 11 - 17,

wherein the robot (1) is designed and setup such that the remote station and/or the local input-interface comprises a human-machine-interface HMI designed and setup for entry of system-programs and respective parameters, and/or for selecting system-programs and respective parameters from a multitude system-programs and respective parameters.

Robot (1) according to claim 18,

wherein the human-machine-interface HMI being designed and setup such, that entries are possible via„drag-and-drop"-entry on a touchscreen, a guided dialogue, a keyboard, a computer-mouse, an haptic interface, a virtual-reality-interface, an augmented reality interface, an acoustic interface, via a body tracking interface, based on electromyographic data, based on elektroencephalographic data, via a neuronal interface or a combination thereof.

Robot (1) according to claim 18 or 19,

wherein the human-machine-interface HMI being designed and setup to deliver auditive, visual, haptic, olfactoric, tactile, electrical feedback or a combination thereof.

Description:
Collision handling by a robot

The invention relates to a method for collision handling for a robot and to a robot designed and setup to carry out the method.

Humanoid robots executing manipulation tasks are usually in contact with their environment at several contact points. The robot is in contact with its environment at the feet via ground contacts and the hands for executing a desired manipulation task. In order to correctly react to undesired collisions, such as an unwanted contact with a colliding object at the knee, the robot has to have the ability to detect collisions, analyze the contact situation(s) and react accordingly. In summary, the collision has to be detected, isolated and identified. Several approaches to the problem of collision detection for manipulators exist. In [22], [19] a model based reference torque is compared to the actuator torque measured via motor currents. [12] uses a similar approach with an adaptive impedance controller. [20] observes disturbance torques on a per joint basis, ignoring the coupling between the joints. All of the above methods employ time invariant thresholds for collision detection. An approach with time variant thresholds based on the estimated modeling error can be found in [17], [16], where a generalized momentum based observer is used to estimate the disturbance torques in the joints and also bounds for the modeling errors. A drawback of all the aforementioned methods is that they require acceleration measurements, which generally introduce high noise. Usually, approaches to finding the contact location (collision isolation) utilize tactile skins [2], [11], [10], [18]. With a suitable tactile skin, the contact location can be found precisely and robustly. However, it is desirable to be able to do so without the need of additional sensors, using only proprioceptive sensing. Collision identification aims at finding an external contact wrench F ext and an external generalized joint force x ext .

External joint torque estimation for serial link robots with a fixed base was proposed in [6], which was then extended to and validated for flexible joint robots with the DLR (German Aerospace Center) lightweight robot in [3]. This was the first method to simultaneously detect collisions, find the contact location and estimate the external torques, i.e. solve the first three phases of the collision handling problem. The approach utilizes the decoupling property of a generalized momentum based disturbance observer [4], [9], which does not rely on the measurement of accelerations. Contact wrenches are often determined with the help of force/torque sensors. [14] uses a generalized momentum based disturbance observer with directly excluded measured foot forces to estimate only external joint torques resulting from manipulation for the humanoid robot TORO. For contact force estimation contacts at the hands were assumed. In [8] the ground contact forces at the feet of a humanoid robot are estimated with an optimal load distribution approach based on desired gross applied force. For the NASA robot "Valkyrie" these are measured with force/torque sensors located in the ankles [15].

It is the task of the invention to provide a more effective detection to the end of identification and isolation of collisions of robots, especially of humanoids.

A first aspect of the invention relates to a method for collision handling for a robot with a kinematic chain structure comprising at least one kinematic chain, wherein the kinematic chain structure comprises: a base, links, joints connecting the links, actuators and at least one end-effector, a sensor in the most distal link of at least one of the kinematic chains for measuring/estimating force/torque, and sensors S, for

measuring/estimating proprioceptive data, wherein the sensors S, are arbitrarily positioned along the kinematic chain structure, the method comprising the steps of:

- provide a model describing the dynamics of the robot,

- measure and/or estimate with sensor F ext S distal i in the most distal link of at least one of the kinematic chains,

- measure and/or estimate with the sensors S, proprioceptive data: base and robot generalized coordinates q (t) and their time derivative q (t) , generalized joint motor forces x m , external forces F s , a base orientation cp B (t) and a base velocity k (t) B ,

- generate an estimate x e of the generalized external forces x ext with a momentum observer, based on at least one of the proprioceptive data and the model,

- generate an estimate q (t) of a second derivative of base and robot generalized coordinates q (t) , based on x e and x m ,

- estimate a Cartesian acceleration x D of point D on the kinematic chain structure based on ¾ (t) ,

- compensate F s for rigid body dynamics effects based on x D and for gravity effects to obtain an estimated external wrench F ext s ; ,

- compensate x e for the Jacobian J S T djstal ; transformed F ext S distal i to obtain an estimation x ext col of generalized joint forces originating from unexpected collisions, and

- detect a collision based on given thresholds x thresh and F S thresh if x ext; C0/ >x thresh and/or if F exti S > F S iithresh ■ On several occasions a running index / ' is used in the above and the following. The person skilled in the art will apprehend it as a statement to denote a respective element of a plurality of a finite - or possibly in some cases infinite - set, while the number of elements in a finite set can also be "one". In particular, if / ' refers to a respective numbering of collisions of the robot with external objects, and if only and for all times / ' =! holds, it means that there is only one single collision. If / ' can be i=l or / ' =2, there are two collisions that are referred to. The same applies beyond the numbering of collisions to the numbering of sensors and others. The model describing the dynamics of the robot comprises in particular an information about the mass and in particular the mass distribution along the kinematic chain structure. From the latter, a moment of inertia of the kinematic chain structure is known as well. The robot is preferably a humanoid robot, which is preferably modeled as: XBext \ (1)

h Jext where q B = {r b φ Β ) τ and q ={ q b q j f denote the base and robot generalized coordinates, consisting of the Cartesian base position r B elR 3 Euler angle base orientation cp B elR 3 and joint angles q j £lR" J . Base and joint entries are marked with index "B" and "J". Further, (1) can be written in the more compact form

M {q) q+C {q , q)q + g{q) = x m -x f + x ext (2) where M (q) denotes the mass matrix, C( q, q) the matrix of centrifugal and Coriolis terms, g(q) the gravity vector, where the dependency on q is left out for brevity in (1) and for sake of brevity q (t) and its time derivatives are shortly written as q and q and so on. The vectors x m , x f and x eilt denote the generalized motor joint forces, friction joint forces and external joint forces. Cartesian forces f B and moments m B are projected to the base generalized rotation coordinates with the angular velocity Jacobian J m with ω Β = J m ( cp B )c B . Generalized external forces F ext are projected via the corresponding geometric floating base Jacobian J C i of the point of contact r C i to the generalized joint forces where J JtC i and J JRC are the corresponding translational and rotational submatrices of the joint Jacobian and R is the rotation matrix from robot base to world frame, cf. [14] and [1].

The kinematic chain structure is preferably comprising joint torque sensing and an arbitrary number of sensors S, for measuring force/torque arbitrarily positioned along the kinematic chain structure. In addition, the base orientation φ Β and the generalized base velocity k B can be measured. Now the general objective is to detect, isolate and identify any collision of an external object with the kinematic chain structure. In this context, collision detection means in particular to generate a number of binary signals telling whether a collision is happening or not at a certain topological part of the robot. Isolation denotes to find the contact location r CA for a collision / ' . Identification aims at estimating the generalized external joint force x ext and the external contact wrenches F extJ . In summary, the objective is to find all contact locations, the corresponding contact wrenches and telling which parts of the kinematic chain structure are in collision at the given time. In particular for the following measurement quantities a measured and/or estimated value is provided as follows:

- the base orientation φ Β (ί) and the base velocity k (t) B : obtaines preferably with a gyroscope and/or a Kalman estimator;

- for the links: x m : with a force/torque sensor and F extJ with a force/torque sensor; - for the end-effector(s): F ext : with a force/torque sensor;

The estimate x e of the generalized external forces x ext , generated by all contacts, is obtained with the help of a momentum observer and based on at least one of the proprioceptive data and the model. Preferably a generalized momentum observer from [4], [5], [7] is applied , which is defined as t

M 'q)q- J [-c m - y(q, q)+iJdT (4)

0

It generates an estimate t e of the generalized external forces acting on the kinematic chain structure, where K 0 = diag { k Q ; } >0 is the observer gain matrix and {q,q) = n{q,q)-M{q)q = g{q)+C{q,q)q-M{q)q = g{q)-C T {q,q)q (5) due to the skew-symmetry of M(q)-2C(q ,q) , cf. [3]. Under ideal conditions q,q ,M(q) ,C(q ,q),g(q) are known exactly) the observer dynamics are decoupled and every component x e follows the first order dynamics:

K 0 l x +x =x ext (6) Therefore, x e is simply a first order filtered version of x ext .

In order to be able to determine a maximum number of contact wrenches and locations, the information of the force/torque sensors from the observed generalized external joint forces x e is preferably excluded as shown in [21]. Therefore, it is compensated for the dynamic and static forces generated by the inertia attached to each sensor. For this compensation, the acceleration in Cartesian space x D of its center of mass D is required. It is preferably calculated by where J D is the Jacobian of point D. For this, the generalized acceleration q is needed to calculate the Cartesian acceleration. An estimate q of q can be obtained from extending the disturbance observer as shown in equation (4). Using its inner state, i.e. the generalized momentum p=M(q)q , it follows for the estimate of its time derivative:

From this, the estimated acceleration follows as: + x t ) (9)

The dynamics of the acceleration error e = q-q derived using (8): e = M(qP(p-M(q)q)-M(qP(p-M(q)q

i(x m -n(q,q) + x ex -(x m -n(q,q)x e )) (10)

Using the Laplace transform of (6) and (10), the following dynamics are obtained: The error dynamics consist of a vector with a linear dynamics triggered by x ext , which is coupled nonlinearly by the inverted mass matrix to the error e . The estimate q is preferably used to obtain x D according to (7) and therefore the external wrench F ext , as shown in the following. The compensation of measured generalized external forces F s for rigid body dynamics effects based on x D and for gravity effects to obtain an estimated external wrench

Fext.s. i ' s preferably done as follows:

Considering a free body excerpt from a body abutting on an end-effector, Newton's second law yields for a sensor attached to this body: wherein m D is the body mass and its inertia tensor is I D . There are generally gravitational and dynamic forces measured in the sensor, while the dynamic forces are visible in the left hand side of equation (12). It follows for the sensed external force: Equation (13) shows that the sensor does not measure the pure external forces only, but in general also forces due to gravity and inertia. Thus, F s is to be corrected by these dynamics in order to obtain the true external wrench. To obtain the external moment, Euler's law of rigid body motion is applied to the center of gravity D of the body: i D ro D +ro D X i d ro D = m ext, E m s - r Ds X fs + r D E X f e Xt (14)

This leads to the sensed external moment (15)

Equations (13) and (14) result in the external wrench

\ m ext , Sj m D S i r s D ) \ \ W DI \0 / y co D X i D co D/ In (16), I 3 denotes the three dimensional unit matrix, g the Cartesian gravity vector, r SD the vector from the center of mass of the inertia attached to the sensor to the sensor and 0 the zero matrix of according size. The S operator denotes the skew-symmetric matrix representing the cross product with its argument. All entities are expressed in the world frame. Using q instead of q to compute x D , the estimated external wrench in point S is perferably obtained as follows:

If the sensor happens to be in a link not at the distal end of the kinematic chain, the compensation wrenches for each body b following the sensor in the kinematic chain become which for all b are summed up for said compensation. This operation corresponds to the Newton-Euler method for calculating multibody dynamics. Therefore, in this case, the external wrench is in particular obtained by

F aa , s = F s + ∑ F C : b = : F s + F cmp: S (19)

be JV(b s )

In (19), N (b s ) denotes the set of bodies following in a distal direction limb b s , which holds the sensor, in the kinematic chain.

In the following, a preferable way of compensating x e for the Jacobian J s djstal ;

transformed F ext S distal i to obtain an estimation x ext col of generalized joint forces originating from unexpected collisions is shown. In particular it is considered for the estimation of the generalized contact forces and also collision detection that the observer detects generalized external joint forces originating from all external contacts. As with a humanoid, there are in general always desired contacts (e.g. at the feet or at the hands during manipulation). These contact forces have to be measured with force/torque sensors close to the corresponding end-effectors (e.g. at the wrists and ankles) in order to enable exclusion from the observed generalized joint forces and avoid undesired collision detections ("false alarms"). Perferably force/torque sensors S distalJ are attached to the kinematic chain structure in the distal links of the arms and legs of an humanoid robot. The generalized external joint forces generated by the external wrenches at the distal links are preferably subtracted from the observed generalized joint forces to obtain an estimate of generalized joint forces originating from unexpected collisions x ext col :

^ext, col~ ^ Σ ^ S .distal ,i ^ ext, S. distal ,i (^O)

S. distal

Now that the force/torque sensors are compensated and the desired generalized external forces are excluded from the observed generalized external forces, collision detection is preferably done as follows.

Collision detection is preferably done via thresholding with the generalized joint forces and estimated external wrenches, namley preferably if at least one of the following conditions (being checked element wise) is fulfilled:

T > T

ext, col thresh ( Y

F ext, S. i > F S. i, thresh

It is an advantage of the invention that a new real-time method for acceleration estimation and load compensation in humanoid robots is provided for force/torque sensors that are arbitrarily located on the kinematic chain structure of a robot.

According to an embodiment of the invention compensation wrenches for compensating the external forces F s for rigid body dynamics effects based on x D and for gravity effects to obtain an estimated external wrench F ext s ; are generated recursively if multiple sensors S, are attached to one of the joints or links.

Preferably, based on equation (19), for multiple sensors in a kinematic chain (e.g. in each joint), the compensation wrenches are calculated recursively to avoid multiple calculations according to this embodiment. Preferably this is conducted according to the following algorithm, written herein in pseudo-code: function F cmp s = calculate_F_cmp(S)

begin

F cmp,s ' - ~ 0

for all bodies b directly following S do

end

for all T N{S) do

F cmp =calculate_F_cmp(7)

F cmp, S + = F cmp,T

r S S T TX' f/ ext, Tj

end

end

The algorithm uses the set N ( s) which denotes all sensors directly following S in a distal direction. Directly means that there is no other sensor between S and an element of N ( S ) in the kinematic chain connecting the two.

It is an advantage of this embodiment to avoid multiple calculations.

According to another embodiment of the invention the method further comprises the step of:

- determine contact locations r c of collisions with the kinematic chain structure by calculating a line of force action r d + f JW f^ with r D = ( S T (f j )) # m j of the collision and by intersecting the line of force action with the kinematic chain structure geometry. The information of (21) is preferably also used to roughly estimate the contact location. Contacts will alway be locatable between the last joint or sensor exceeding the threshold and the next sensor not exceeding it. To gain more information on the link in contact, the external wrenches F ext are needed. In the following a preferable way of obtaining F ext j and how to use it for collision isolation is shown: Collision isolation cannot be generally handled for the case when external moments act along the robot. For this case, the contact location of an additionally acting contact force cannot be located exactly. Thus, for the isolation case it is assumed herein that no external moments to be acting on the robot (m ext Ε = θ) , which is a realistic assumption for most undesired collision situations. Isolation is done via the following four step approach: a) Isolate the contact link,

b) estimate the external wrench acting on the respective contact link,

c) calculate the line of action of the force estimated and

d) determine the exact contact point by intersecting the line of action with the known kinematic chain structure geometry.

For steps b) and c) two main scenarios have to be distinguished: single contact and multi contact scenarios. The single contact scenario can be handled with joint torque sensing only, while the multi contact scenario sometimes requires additional force/torque sensors in order to distinguish the different contacts.

Regarding step a): The contact link can be found based on the fact that a contact cannot produce torques in joints appearing behind the contact location along the kinematic chain, e.g. a contact at the upper arm cannot produce torques in the wrist. Therefore, the contact link index i can be isolated by i = max { j \ x ext col ≠0 } (22) given the convention that joint j connects link j to the preceding links of the robot. Due to the tree structure of a humanoid, this procedure can lead to multiple potential contact links. It has to be noted also that due to modeling and measurement errors, equation (22) is subject to thresholding. Also some forces, e.g. forces parallel to the axis of the joint connected to the link they act on, do not produce torques at this joint. This may lead to erroneous estimation of the contact link. However, this problem can be tackled with a correction step introduced later.

Regarding step b): When the contact link is found the wrench F i acting on the respective link is preferably estimated as (23) using the Moore-Penrose pseudo inverse of jf : (j )

Regarding step c): For a single external wrench F ext acting at the contact location r the wrench F ; may be expressed as

Recalling the assumption of the absence of external moments this results in

From (25), the line of action of the force is derived. It is described by

^+ λ/νΙΐΛΐ for eIR with

(f )V (26)

Regarding step d): Due to the properties of the pseudo inverse and the rank deficit of skew symmetric matrices, r d is the point along the line of action of the force, which lies closest to the origin and therefore not in general identical to r c . It is possible to calculate r c by intersecting the line of action of the force with the link geometry of the contact link. If this intersection problem has more than one solution, the one with the smallest parameter λ is chosen, as a pushing force is anticipated, which is most common for unexpected collisions. However, all candidates can be generated and utilized if more sophisticated processing is done at a higher level of abstraction. If the contact link is not estimated correctly, the contact point r c can nonetheless be computed for the single contact case, as the base movement provides sufficient information to determine it. In this case, the line of action may happen to not intersect the estimated contact link.

Therefore, the contact point r c is preferably determined correctly by intersecting the line of action also with the subsequent links. For the case of multiple contacts, above method is preferably used in combination with force/torque sensing. Then, for each sensor, a contact in the kinematic chain following the sensor is preferably detected by applying steps 3 and 4 for the compensated (in the sense of (19)) wrenches F ext ; of the sensors.

In case of more than one sensor and more than one contact in the kinematic chain, the wrenches originating from contacts already measured by sensors closer to the distal end of the kinematic chain have to be subtracted from the measured wrench in order to estimate contacts earlier in the chain correctly.

If no force/torque sensors are available the correct isolation of multiple contacts is only possible if the contact links are estimated correctly and are far enough away from the base, which means that the Jacobians of the contact links together include at least six degree of freedoms per wrench to estimate. For this, the contact wrenches are preferably calculated by stacking the Jacobians together and calculating the according

pseudoinverse

(F ... F n ) T = (j ... Jlf x ext,col (28) In case of a singularity in the Jacobians additional degree of freedoms can be required to estimate the wrenches correctly. Thereafter, steps c) and d) can be applied to each estimated wrench F j . This step may be considered a generalization of equation (6) in

[14]. With this, the contact locations r c are located.

It is an advantage of this embodiment that a novel method for estimating contact location and contact forces in single contact scenarios in particular for humanoid robots is provided.

According to another embodiment of the invention the method further comprises the step of:

- based on the determined contact locations r c determine the full contact Jacobians l ... f c, n ) # x ext>col .

Since with the above, the contact locations r c are determined, the full contact

Jacobians are preferably computed. Similar to (28) they are preferably used to identify the external wrenches

For wrenches identified with a force/torque sensor, no action has to be taken in this step, as the corrected wrenches are already the best estimates.

It is an advantage of this embodiment that an extension of the above mentioned invention and its embodiments is provided to multi-contact situations with and without the help of additional force/torque sensors in the kinematic chain.

According to another embodiment of the invention the method further comprises the step

According to another embodiment of the invention the robot is a humanoid robot. Another aspect of the invention relates to computer system with a data processing unit, wherein the data processing unit is designed and set up to carry out a method according to one of the preceding claims.

Another aspect of the invention relates to a digital data storage with electronically readable control signals, wherein the control signals can coaction with a programmable computer system, so that a method according to one of the preceding claims is carried out.

Another aspect of the invention relates to a computer program product comprising a program code stored in a machine-readable medium for executing a method according to one of the preceding claims, if the program code is executed on a computer system.

Another aspect of the invention relates to a computer program with program codes for executing a method according to one of the preceding claims, if the computer program runs on a computer system.

Another aspect of the invention relates to a robot with a kinematic chain structure comprising at least one kinematic chain, wherein the kinematic chain structure

comprises: a base, links, joints connecting the links, actuators and at least one end- effector, a sensor the most distal link of at least one of the kinematic chains for measuring/estimating force/torque, and sensors S, for measuring/estimating

proprioceptive data, wherein the sensors S, are arbitrarily positioned along the kinematic chain structure, and wherein the robot is designed and setup to carry out a method according to the preceding claims.

According to an embodiment of the invention the robot comprises a data interface with a data network, and wherein the robot is designed and setup to download system- programs for setting up and controlling the robot from the data network.

According to another embodiment of the invention the robot being designed and setup to download parameters for the system-programs from the data network.

According to another embodiment of the invention the robot is designed and setup to enter parameters for the system-programs via a local input-interface and/or via a teach- in-process, and wherein the robot is manually guided. According to another embodiment of the invention the robot is designed and setup such that downloading system-programs and/or respective parameters from the data network is controlled by a remote station, the remote station being part of the data network.

According to another embodiment of the invention the robot is designed and setup such that system-programs and/or respective parameters locally available at the robot are sent to one or more participants of the data network based on a respective request received from the data network.

According to another embodiment of the invention the robot is designed and setup such that system-programs with respective parameters available locally at the robot can be started from a remote station, the remote station being part of the data network.

According to another embodiment of the invention the robot is designed and setup such that the remote station and/or the local input-interface comprises a human-machine- interface HMI designed and setup for entry of system-programs and respective parameters, and/or for selecting system-programs and respective parameters from a multitude system-programs and respective parameters. According to another embodiment of the invention the human-machine-interface HMI being designed and setup such, that entries are possible via„drag-and-drop"-entry on a touchscreen, a guided dialogue, a keyboard, a computer-mouse, an haptic interface, a virtual-reality-interface, an augmented reality interface, an acoustic interface, via a body tracking interface, based on electromyographic data, based on elektroencephalographic data, via a neuronal interface or a combination thereof.

According to another embodiment of the invention the human-machine-interface HMI being designed and setup to deliver auditive, visual, haptic, olfactoric, tactile, electrical feedback or a combination thereof.

The invention is explained above with reference to the aforementioned embodiments. However, it is clear that the invention is not only restricted to these embodiments, but comprises all possible embodiments within the spirit and scope of the inventive thought and the patent claims.

The sources of prior art mentioned above and additional sources are as follows: [1] K. Bouyarmane and A. Kheddar. On the dynamics modeling of free-floating-base articulated mechanisms and applications to humanoid whole-body dynamics and control. Humanoids, 2012.

[2] R. S. Dahiya, P. Mittendorfer, M. Valle, et al. Directions toward effective utilization of tactile skin: A review. IEEE Sensors Journal, 2013.

[3] A. De Luca, A. Albu-Scha " ffer, S. Haddadin, and G. Hirzinger. Collision

detection and safe reaction with the DLR-III lightweight manipulator arm. In

IROS, 2006.

[4] A. De Luca and R. Mattone. Actuator failure detection and isolation using generalized momenta. In ICRA, 2003.

[5] A. De Luca and R. Mattone. An adapt-and-detect actuator fdi scheme for robot manipulators. In ICRA, 2004.

[6] A. De Luca and R. Mattone. Sensorless robot collision detection and

hybrid force/motion control. In ICRA, 2005.

[7] S. Haddadin. Towards Safe Robots. Springer Berlin Heidelberg, 2014.

[8] S.-H. Hyon, J. Hale, and G. Cheng. Full-body compliant human- humanoid interaction: Balancing in the presence of unknown external forces.

IEEE Trans. Robot , 2007. [9] H.-B. Kuntze, C. Frey, K. Giesen, and G. Milighetti. Fault tolerant supervisory control of human interactive robots. In IFAC Workshop on Advanced Control and Diagnosis, 2003.

[10] V. J. Lumelsky and E. Cheung. Real-time collision avoidance in tele- operated whole-sensitive robot arm manipulators. IEEE Transactions on Systems, Man, and Cybernetics, 1993.

[11] G. D. Maria, C. Natale, and S. Pirozzi. Force/tactile sensor for robotic applications. Sensors and Actuators A: Physical, 2012.

[12] S. Morinaga and K. Kosuge. Collision detection system for manipu- lator based on adaptive impedance control law. In ICRA, 2003.

[13] Open Source Robotics Foundation. "DRC simulator",

https://bitbucket.org/osrf/drcsim. [Online], 2015.

[14] C. Ott, B. Henze, and D. Lee. Kinesthetic teaching of humanoid motion based on whole-body compliance control with interaction- aware balancing. In IROS, 2013.

[15] N. A. Radford, P. Strawser, K. Hambuchen, et al. Valkyrie: Nasa's first bipedal humanoid robot. Journal of Field Robotics, 2015.

[16] V. Sotoudehnejad and M. R. Kermani. Velocity-based variable thresholds for improving collision detection in manipulators. In ICRA, 2014.

[17] V. Sotoudehnejad, A. Takhmar, M. R. Kermani, and I. G. Polushin.

Counteracting modeling errors for sensitive observer-based manipula- tor collision detection. In IROS, 2012.

[18] M. Strohmayr. Artificial Skin in Robotics. PhD thesis, Karlsruhe Institute of Technology, 2012.

[19] K. Suita, Y. Yamada, N. Tsuchida, et al. A failure-to-safety "kyozon" system with simple contact detection and stop capabilities for safe human- autonomous robot coexistence. In ICRA, 1995.

[20] S. Takakura, T. Murakami, and K. Ohnishi. An approach to collision detection and recovery motion in industrial robot. In IECON, 1989.

[21] J. Vorndamme, M. Schappler, A. Todtheide, and S. Haddadin. Soft robotics for the hydraulic Atlas arms: Joint impedance control with collision detection and disturbance compensation. In IROS, 2016. Accepted and publicly available October 2016. Initial submission: https://www.irt.uni- hannover.de/fileadmin/institut/pdf/tmp/VorndammeSchToeHad201 6.pdf.

[22] Y. Yamada, Y. Hirasawa, S. Huang, et al. Human-robot contact in the safeguarding space. IEEE/ASME Transactions on Mechatronics, 1997. Brief description of the drawings:

Fig. 1 shows a method for collision handling for a robot according to an embodiment of the invention,

Fig. 2 shows a method for collision handling for a robot according to another

embodiment of the invention,

Fig. 3 shows a humanoid robot according to another embodiment of the invention,

Fig. 4 shows a detailed excerpt of the method shown in Fig. 1, and

Fig. 5 shows another explanation of the method of Fig. 2.

Detailed description of the drawings:

Fig. 1 shows a method for collision handling for a robot 1 with a kinematic chain structure comprising at least one kinematic chain, wherein the kinematic chain structure

comprises: a base, links, joints connecting the links, actuators and at least one end- effector, a sensor in the most distal link of at least one of the kinematic chains for measuring/estimating force/torque, and sensors S, for measuring/estimating

proprioceptive data, wherein the sensors S, are arbitrarily positioned along the kinematic chain structure, the method comprising the steps of:

provide SI a model describing the dynamics of the robot 1,

- measure and/or estimate S2 with sensor SdBia/., force/torque F ext s distal A in the most distal link of at least one of the kinematic chains,

measure and/or estimate S3 with the sensors S, proprioceptive data: base and robot generalized coordinates q (t) and their time derivative q (t) , generalized joint motor forces x m , external forces F s , a base orientation φ Β (ί) and a base velocity k (t) B , - generate S4 an estimate i e of the generalized external forces x ext with a

momentum observer 3 based on at least one of the proprioceptive data and the model,

generate S5 an estimate q (t) of a second derivative of base and robot generalized coordinates q (t) , based on i e and x m ,

- estimate S6 a Cartesian acceleration x D of a point D on the kinematic chain

structure based on q (t) ,

compensate S7 F s for rigid body dynamics effects based on x D and for gravity effects to obtain an estimated external wrench F ext s ; ,

compensate S8 x e for the Jacobian J S T djstal ; transformed F ext S distal i to obtain an estimation x ext col of generalized joint forces originating from unexpected collisions, and

- detect S9 a collision based on given thresholds x thresh and F SA>thresh if x ext , col >x thresh and/or if F ext _ S i >F s uhresh .

Fig. 2 shows a method for collision handling for a robot 1 with a kinematic chain structure comprising at least one kinematic chain, wherein the kinematic chain structure

comprises: a base, links, joints connecting the links, actuators and at least one end- effector, a sensor in the most distal link of at least one of the kinematic chains for measuring/estimating force/torque, and sensors S, for measuring/estimating

proprioceptive data, wherein the sensors S, are arbitrarily positioned along the kinematic chain structure, the method comprising the steps of:

- provide SI a model describing the dynamics of the robot 1,

measure and/or estimate S2 with sensor S dB ia., force/torque F ext> s _ djstaLi in the most distal link of at least one of the kinematic chains,

measure and/or estimate S3 with the sensors S, proprioceptive data: base and robot generalized coordinates q (t) and their time derivative q (t) , generalized joint motor forces x m , external forces F s , a base orientation φ Β (ί) and a base velocity k (t) B , generate S4 an estimate x e of the generalized external forces x ext with a

momentum observer 3 based on at least one of the proprioceptive data and the model,

generate S5 an estimate q (t) of a second derivative of base and robot generalized coordinates q (t) , based on x e and x m ,

estimate S6 a Cartesian acceleration x D of a point D on the kinematic chain structure based on q (t) ,

compensate S7 F s for rigid body dynamics effects based on x D and for gravity effects to obtain an estimated external wrench F ext s ; ,

- compensate S8 x e for the Jacobian J S T djstal ; transformed F ext S distal i to obtain an estimation x ext col of generalized joint forces originating from unexpected collisions, and

- detect S9 a collision based on given thresholds x thresh and F SA>thresh if x ext ! COl >x thresh and/or if F ext _ S i >F s uhresh ,

- determine S10 contact locations r c of collisions with the kinematic chain structure by calculating a line of force action r d + f JW f^ with r d = ( S T {f j )f m j of the collision and by intersecting the line of force action with the kinematic chain structure geometry.

based on the determined contact locations r c determine Sll the full contact Jacobians J CA = J c >i J i ,

determine S12 the external wrenches: (F X ... F T ex r ^= j T c l ··· ^c. n ' T ext , t control S13 the robot 1 dependent on r c and [F e T xt l ... F T ext n .

Fig. 3 shows a humanoid robot 1 with a base B and arms and legs as kinematic chains, wherein a base orientation is denoted as cp B (t) and a base velocity is denoted as k (t) B . The humanoid robot 1 is in a multiple contact situation. Generalized external forces F ext A are acting all over its structure. Forces on the feet originate from locomotion, forces on the hands originate from manipulation. Other external forces are caused by unwanted collisions. Also a number of force/torque sensors S i (five in the case of Fig. 3) are distributed arbitrarily along the kinematic chain structure of the robot 1. Two contacts are detected at the right arm. One by sensor S 3 and one by sensor S x , as long as one contact is behind S x and the other between S 3 and S x . As this is the case for F ext _ 2 and F ext> 5 these two wrenches are estimated correctly. (Otherwise the preferred proceeding is shown with Equation (28)).

Fig. 4 shows a detailed excerpt of the the method shown in Fig. 1. Exclusion of external wrenches at the distal links F ext>s _ distal A measured by force/torque sensors S i from the observed generalized joint forces of equation (4) is done with the upper general description. These wrenches are therefore compensated according to equation (19) from the upper general description and allow for the map of F s distalA to F ext> s _ djstal A with the load compenstion symbolized by a rectangle receiving F s distalA and q, q from the observer 3. All other notations and steps are described under the description

corresponding to Fig. 1. The upper right dotted block outputting F s distalA is a filter.

Fig. 5 shows a different view of the steps explained under Fig. 2 and shows an overview of the collision detection isolation and identification algorithm. Hence, all steps S1...S13 referred to under the description of Fig. 2 can be applied to Fig. 5, too. Moreover, the general description from above, in particular equations (17) to (19) are applicable. The more sensed or estimated or generated information is used, the more information can be obtained from the collision detection. If the collision detection is based on x ext col only, the contact cannot be fully located. If F ex SA is used in addition, the contact can be located to the parts of the robot lying between the detecting and the following sensors. If the full F ex SA are available, collision detection can be done on a per link basis. Reference sign list

1 robot

3 observer

51 provide

52 measure and/or estimate

53 measure and/or estimate S4 generate

55 generate

56 estimate

57 compensate

58 compensate

S9 detect

510 determine

511 determine

512 determine

513 control