IP Library Granted Patent US 11,370,117
Granted Patent B2
US 11,370,117 · App. 16/611,643 · Granted Jun 28, 2022

Collision handling by a robot

Inventors: Sami Haddadin (Hannover, DE); Jonathan Vorndamme (Munich, DE)
Assignee: Franka Emika GmbH
B25J9/1676B25J9/0006B25J9/0081B25J9/161B25J9/1607B25J9/1694B25J13/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,370,117
App. No.
16/611,643
Granted
Jun 28, 2022
Kind
B2
Abstract

The invention relates to a method of collision handling for a robot with a kinematic chain structure comprising at least one kinematic chain, wherein the kinematic chain structure includes: 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 including: providing a model describing the dynamics of the robot; measuring and/or estimating 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; measuring and/or estimating with the sensors S i proprioceptive data: base and robot generalized coordinates q(t) and their time derivative {dot over (q)}(t), generalized joint motor forces τ m , external forces F S , a base orientation φ B (t) and a base velocity {dot over (x)}(t) B ; generating an estimate {circumflex over (τ)} ∈ of the generalized external forces τ ext with a momentum observer based on at least one of the proprioceptive data and the model; generating an estimate {umlaut over ({circumflex over (q)})}(t) of a second derivative of base and robot generalized coordinates {umlaut over (q)}(t), based on {circumflex over (τ)} ∈ and τ m ; estimating a Cartesian acceleration {umlaut over ({circumflex over (x)})} D of point D on the kinematic chain structure based on {umlaut over ({circumflex over (q)})}(t); compensating the external forces F D for rigid body dynamics effects based on {umlaut over ({circumflex over (x)})} D and for gravity effects to obtain an estimated external wrench {circumflex over (F)} ext,S.i ; compensating {circumflex over (τ)} ∈ for the Jacobian J S.distal.i T transformed F ext,S.distal.i to obtain an estimation {circumflex over (τ)} ext,col of generalized joint forces originating from unexpected collisions; detecting a collision based on given thresholds τ thresh and F S.i,thresh if {circumflex over (τ)} ext,col >τ thresh and/or if {circumflex over (F)} ext,S.i >F S.i,thresh .

Claims (64)

1. A method of 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 S distal.i in a 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:

providing a model describing dynamics of the robot;

measuring and/or estimating with sensor S distal.i force or torque F ext,S.distal.i in the most distal link of at least one of the kinematic chains;

measuring and/or estimating with the sensors S i proprioceptive data: base and robot generalized coordinates q(t) and their time derivative {dot over (q)}(t), generalized joint motor forces τ m , external forces F S , a base orientation φ B (t) and a base velocity {dot over (x)}(t) B ;

generating an estimate {circumflex over (τ)} ∈ of generalized external forces τ ext with a momentum observer based on at least one of the proprioceptive data and the model;

generating an estimate {umlaut over ({circumflex over (q)})}(t) of a second derivative of base and robot generalized coordinates {umlaut over (q)}(t), based on {circumflex over (τ)} ∈ and τ m ;

estimating a Cartesian acceleration {umlaut over ({circumflex over (x)})} D of a point D on the kinematic chain structure based on {umlaut over ({circumflex over (q)})}(t);

compensating F S for rigid body dynamics effects based on {umlaut over ({circumflex over (x)})} D and for gravity effects to obtain an estimated external wrench {circumflex over (F)} ext,S.i ;

compensating {circumflex over (τ)} ∈ for a Jacobian J S.distal.i T transformed F ext,S.distal.i to obtain an estimation {circumflex over (τ)} ext,col of generalized joint forces originating from unexpected collisions; and

detecting a collision based on given thresholds τ thresh and F S.i,thresh if τ ext,col >τ thresh and/or if {circumflex over (F)} ext,S.i >F S.i,thresh .

2. The method according to claim 1 , further comprising generating recursively compensation wrenches for compensating the external forces F S for rigid body dynamics effects based on {umlaut over ({circumflex over (x)})} D and for gravity effects to obtain an estimated external wrench {circumflex over (F)} ext,S.i , if multiple sensors S are attached to one of the joints or links.

3. The method according to claim 1 , further comprising determining contact locations r C of collisions with the kinematic chain structure by calculating a line of force action r d +λf i /∥f i ∥ with r d =(S T (f i )) # m i of the collision and by intersecting the line of force action with the kinematic chain structure geometry.

4. The method according to claim 3 , further comprising:

determining full contact Jacobians J C.i =J c,i J i based on the determined contact locations r C ; and

determining the external wrenches (F ext,1 T . . . F ext,n T )=(J C.1 T . . . J C.n T ) # τ ext,col .

5. The method according to claim 4 , further comprising controlling the robot dependent on r C and (F ext,1 T . . . F ext,n T ) T .

6. The method according to claim 1 , wherein the robot is a humanoid robot.

7. A robot capable of collision handling, the robot comprising 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 a 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 robot designed and set up to:

provide a model describing dynamics of the robot;

measure and/or estimate with sensor S distal.i force or torque 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 i proprioceptive data: base and robot generalized coordinates q(t) and their time derivative {dot over (q)}(t), generalized joint motor forces τ m , external forces F S , a base orientation φ B (t) and a base velocity {dot over (x)}(t) B ;

generate an estimate {circumflex over (τ)} ∈ of generalized external forces τ ext with a momentum observer based on at least one of the proprioceptive data and the model;

generate an estimate {umlaut over ({circumflex over (q)})}(t) of a second derivative of base and robot generalized coordinates {umlaut over (q)}(t), based on {circumflex over (τ)} ∈ and τ m ;

estimate a Cartesian acceleration {umlaut over ({circumflex over (x)})} D of a point D on the kinematic chain structure based on {umlaut over ({circumflex over (q)})}(t);

compensate F S for rigid body dynamics effects based on {umlaut over ({circumflex over (x)})} D and for gravity effects to obtain an estimated external wrench {circumflex over (F)} ext,S.i ;

compensate {circumflex over (τ)} ∈ for a Jacobian J S.distal.i T transformed F ext,S.distal.i to obtain an estimation {circumflex over (τ)} ext,col of generalized joint forces originating from unexpected collisions; and

detect a collision based on given thresholds τ thresh and F S.i,thresh if {circumflex over (τ)} ext,col >τ thresh and/or if {circumflex over (F)} ext,S.i >F S.i,thresh .

8. The robot according to claim 7 , wherein the robot comprises a data interface with a data network, and wherein the robot is designed and set up to download system programs for setting up and controlling the robot from the data network.

9. The robot according to claim 7 , wherein the robot is designed and set up to download parameters for the system programs from the data network.

10. The robot according to claim 7 , wherein the robot is designed and set up 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.

11. The robot according to claim 7 , wherein the robot is designed and set up 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.

12. The robot according to claim 7 , wherein the robot is designed and set up 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.

13. The robot according to claim 7 , wherein the robot is designed and set up such that system programs with respective parameters available locally at the robot are capable of being started from a remote station, the remote station being part of the data network.

14. The robot according to claim 7 , wherein the robot is designed and set up such that the remote station and/or the local input interface comprises a human-machine interface HMI designed and set up for entry of system programs and respective parameters, and/or for selecting system programs and respective parameters from a multitude of system programs and respective parameters.

15. The robot according to claim 14 , wherein the human-machine interface HMI is designed and set up such that entries are possible via drag-and-drop entry on a touchscreen, a guided dialogue, a keyboard, a computer-mouse, a haptic interface, a virtual-reality interface, an augmented-reality interface, an acoustic interface, via a body tracking interface, based on electromyographic data, based on electroencephalographic data, via a neuronal interface, or a combination thereof.

16. The robot according to claim 14 , wherein the human-machine interface HMI is designed and set up to deliver additive, visual, haptic, olfactory, tactile, electrical feedback, or a combination thereof.

17. The robot according to claim 7 , further designed and set up to generate recursively compensation wrenches for compensating the external forces F S for rigid body dynamics effects based on {umlaut over ({circumflex over (x)})} D and for gravity effects to obtain an estimated external wrench {circumflex over (F)} ext,S.i , if multiple sensors S are attached to one of the joints or links.

18. The robot according to claim 7 , further designed and set up to determine contact locations r C of collisions with the kinematic chain structure by calculating a line of force action r d +λf i /∥f i ∥ with r d =(S T (f i )) # m i of the collision and by intersecting the line of force action with the kinematic chain structure geometry.

19. The robot according to claim 18 , further designed and set up to:

determine full contact Jacobians J C.i =J c,i J i based on the determined contact locations r C ; and

determine the external wrenches (F ext,1 T . . . F ext,n T ) T =(J C.1 T . . . J C.n T ) # τ ext,col .

20. The robot according to claim 18 , further designed and set up to control the robot dependent on r C and (F ext,1 T . . . F ext,n T ) T .

21. A system for collision handling of a robot, the robot comprising 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 a 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 system comprising:

a data processing device; and

a memory storing instructions that, when executed by the data processing device, cause the data processing device to perform operations comprising:

providing a model describing dynamics of the robot;

measuring and/or estimating with sensor S distal.i force or torque F ext,S.distal.i in the most distal link of at least one of the kinematic chains;

measuring and/or estimating with the sensors S i proprioceptive data: base and robot generalized coordinates q(t) and their time derivative {dot over (q)}(t), generalized joint motor forces τ m , external forces F S , a base orientation φ B (t) and a base velocity {dot over (x)}(t) B ;

generating an estimate {circumflex over (τ)} ∈ of generalized external forces τ ext with a momentum observer based on at least one of the proprioceptive data and the model;

generating an estimate {umlaut over ({circumflex over (q)})}(t) of a second derivative of base and robot generalized coordinates {umlaut over (q)}(t), based on {circumflex over (τ)} ∈ and τ m ;

estimating a Cartesian acceleration {umlaut over ({circumflex over (x)})} D of a point D on the kinematic chain structure based on {umlaut over ({circumflex over (q)})}(t);

compensating F S for rigid body dynamics effects based on {umlaut over ({circumflex over (x)})} D and for gravity effects to obtain an estimated external wrench {circumflex over (F)} ext,S.i ;

compensating {circumflex over (τ)} ∈ for a Jacobian J S.distal.i T transformed F ext,S.distal.i to obtain an estimation {circumflex over (τ)} ext,col of generalized joint forces originating from unexpected collisions; and

detecting a collision based on given thresholds τ thresh and F S.i,thresh if {circumflex over (τ)} ext,col >τ thresh and/or if {circumflex over (F)} ext,S.i >F S.i,thresh .

22. A non-transitory storage medium storing instructions for collision handling of a robot, the robot comprising 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 a 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 instructions when executed by a data processing device cause the data processing device to perform operations comprising:

providing a model describing dynamics of the robot;

measuring and/or estimating with sensor S distal.i force or torque F ext,S.distal.i in the most distal link of at least one of the kinematic chains;

measuring and/or estimating with the sensors S i proprioceptive data: base and robot generalized coordinates q(t) and their time derivative {dot over (q)}(t), generalized joint motor forces τ m , external forces F S , a base orientation φ B (t) and a base velocity {dot over (x)}(t) B ;

generating an estimate {circumflex over (τ)} ∈ of generalized external forces τ ext with a momentum observer based on at least one of the proprioceptive data and the model;

generating an estimate {umlaut over ({circumflex over (q)})}(t) of a second derivative of base and robot generalized coordinates {umlaut over (q)}(t), based on {circumflex over (τ)} ∈ and τ m ;

estimating a Cartesian acceleration {umlaut over ({circumflex over (x)})} D of a point D on the kinematic chain structure based on {umlaut over ({circumflex over (q)})}(t);

compensating F S for rigid body dynamics effects based on {umlaut over ({circumflex over (x)})} D and for gravity effects to obtain an estimated external wrench {circumflex over (F)} ext,S.i ;

compensating {circumflex over (τ)} ∈ for a Jacobian J S.distal.i T transformed F ext,S.distal.i to obtain an estimation {circumflex over (τ)} ext,col of generalized joint forces originating from unexpected collisions; and

detecting a collision based on given thresholds τ thresh and F S.i,thresh if {circumflex over (τ)} ext,col >τ thresh and/or if {circumflex over (F)} ext,S.i >F S.i,thresh .

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2026
From: FRANKA ROBOTICS GMBH
To: FR ADMINISTRATION GMBH
Reel/Frame 073519/0124 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2026
From: FRANKA EMIKA GMBH
To: AGILE ROBOTS HANOVER GMBH, NOW TRADING AS FRANKA ROBOTICS GMBH
Reel/Frame 073493/0884 →
CHANGE OF ADDRESS Recorded Dec 2, 2021
From: FRANKA EMIKA GMBH
To: FRANKA EMIKA GMBH
Reel/Frame 058295/0960 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2020
From: HADDADIN, SAMI; VORNDAMME, JONATHAN
To: FRANKA EMIKA GMBH
Reel/Frame 054215/0373 →
Priority Claims (1)
DE 10 2017 005 080.5 · May 29, 2017 · national
Continuity (1)
Related Publication 20200061835A1 · Feb 27, 2020
Cited By (1)
US 12,194,632