IP Library Granted Patent US 12,157,234
Granted Patent B2
US 12,157,234 · App. 17/353,620 · Granted Dec 3, 2024

Safety trajectories for robotic control systems

Inventors: Benjamin Bremer (Ottobrunn, DE); Torsten Kroeger (Munich, DE)
Assignee: Intrinsic Innovation LLC
B25J9/1676B25J9/1602B25J9/1666G05B19/4155G05B2219/50391
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 12,157,234
App. No.
17/353,620
Granted
Dec 3, 2024
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating safety trajectories. One of the methods comprises causing, by a robotic control system, execution of a robotic control plan by a plurality of robotic components in a robotic execution environment; generating a safety trajectory at each of a plurality of time points during the execution of the robotic control plan, including: obtaining data identifying a current position of a particular robotic component of the plurality of robotic components; generating, using the obtained data, a safety trajectory for the particular robotic component; and providing the safety trajectory to an emergency control system; determining that an emergency condition has been met; and in response, transferring control of the particular robotic component from the robotic control system to the emergency control system, comprising causing, by the emergency control system, execution of the safety trajectory by the particular robotic component.

Claims (63)

1. A method performed by one or more computers, the method comprising:

causing, by a robotic control system, execution of a robotic control plan by a plurality of robotic components in a robotic execution environment;

generating a safety trajectory at each of a plurality of time points while executing an original trajectory of the robotic control plan, including:

obtaining data identifying a current position of a particular robotic component of the plurality of robotic components,

generating, using the obtained data, a safety trajectory for the particular robotic component, and

providing the safety trajectory to an emergency control system;

determining that an emergency condition has occurred; and

in response, transferring control of the particular robotic component from the robotic control system to the emergency control system, comprising halting execution of the original trajectory and causing, by the emergency control system, execution of the safety trajectory generated before the emergency condition occurred.

2. The method of claim 1 , wherein causing, by the emergency control system, execution of the safety trajectory comprises:

processing the safety trajectory using a linear filter to generate an updated safety trajectory; and

causing, by the emergency control system, execution of the updated safety trajectory.

3. The method of claim 1 , wherein the safety trajectory comprises one or more of:

a sequence of waypoint data objects that each represent a pose of the particular robotic component at a different respective time point; or

a spline representing motion of the particular robotic component in the robotic execution environment across time.

4. The method of claim 1 , wherein a new safety trajectory is generated for the particular robotic component at regular intervals.

5. The method of claim 1 , wherein, during execution of the safety trajectory by the particular robotic component, the emergency control system and the robotic control system are communicatively disconnected.

6. The method of claim 1 , wherein generating the safety trajectory for the particular robotic component comprises processing the obtained data using one or more of:

a behavior tree, or

a switch statement.

7. The method of claim 1 , wherein:

the safety trajectory represents nonlinear movement of the particular robotic component; and

linear movement executed by the particular robotic component after the emergency condition would cause a collision in the robotic execution environment.

8. A system comprising one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

causing, by a robotic control system, execution of a robotic control plan by a plurality of robotic components in a robotic execution environment;

generating a safety trajectory at each of a plurality of time points while executing an original trajectory of the robotic control plan, including:

obtaining data identifying a current position of a particular robotic component of the plurality of robotic components,

generating, using the obtained data, a safety trajectory for the particular robotic component, and

providing the safety trajectory to an emergency control system;

determining that an emergency condition has occurred; and

in response, transferring control of the particular robotic component from the robotic control system to the emergency control system, comprising halting execution of the original trajectory and causing, by the emergency control system, execution of the safety trajectory generated before the emergency condition occurred by the particular robotic component.

9. The system of claim 8 , wherein causing, by the emergency control system, execution of the safety trajectory comprises:

processing the safety trajectory using a linear filter to generate an updated safety trajectory; and

causing, by the emergency control system, execution of the updated safety trajectory.

10. The system of claim 8 , wherein the safety trajectory comprises one or more of:

a sequence of waypoint data objects that each represent a pose of the particular robotic component at a different respective time point; or

a spline representing motion of the particular robotic component in the robotic execution environment across time.

11. The system of claim 8 , wherein a new safety trajectory is generated for the particular robotic component at regular intervals.

12. The system of claim 8 , wherein, during execution of the safety trajectory by the particular robotic component, the emergency control system and the robotic control system are communicatively disconnected.

13. The system of claim 8 , wherein generating the safety trajectory for the particular robotic component comprises processing the obtained data using one or more of:

a behavior tree, or

a switch statement.

14. The system of claim 8 , wherein:

the safety trajectory represents nonlinear movement of the particular robotic component; and

linear movement executed by the particular robotic component after the emergency condition would cause a collision in the robotic execution environment.

15. One or more non-transitory computer storage media encoded with computer program instructions that when executed by a plurality of computers cause the plurality of computers to perform operations comprising:

causing, by a robotic control system, execution of a robotic control plan by a plurality of robotic components in a robotic execution environment;

generating a safety trajectory at each of a plurality of time points while executing an original trajectory of the robotic control plan, including:

obtaining data identifying a current position of a particular robotic component of the plurality of robotic components,

generating, using the obtained data, a safety trajectory for the particular robotic component, and

providing the safety trajectory to an emergency control system;

determining that an emergency condition has occurred; and

in response, transferring control of the particular robotic component from the robotic control system to the emergency control system, comprising halting execution of the original trajectory and causing, by the emergency control system, execution of the safety trajectory generated before the emergency condition occurred by the particular robotic component.

16. The non-transitory computer storage media of claim 15 , wherein causing, by the emergency control system, execution of the safety trajectory comprises:

processing the safety trajectory using a linear filter to generate an updated safety trajectory; and

causing, by the emergency control system, execution of the updated safety trajectory.

17. The non-transitory computer storage media of claim 15 , wherein the safety trajectory comprises one or more of:

a sequence of waypoint data objects that each represent a pose of the particular robotic component at a different respective time point; or

a spline representing motion of the particular robotic component in the robotic execution environment across time.

18. The non-transitory computer storage media of claim 15 , wherein a new safety trajectory is generated for the particular robotic component at regular intervals.

19. The non-transitory computer storage media of claim 15 , wherein, during execution of the safety trajectory by the particular robotic component, the emergency control system and the robotic control system are communicatively disconnected.

20. The non-transitory computer storage media of claim 15 , wherein generating the safety trajectory for the particular robotic component comprises processing the obtained data using one or more of:

a behavior tree, or

a switch statement.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2021
From: X DEVELOPMENT LLC
To: INTRINSIC INNOVATION LLC
Reel/Frame 057650/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2021
From: BREMER, BENJAMIN; KROEGER, TORSTEN
To: X DEVELOPMENT LLC
Reel/Frame 056837/0990 →