IP Library › Granted Patent US 12,605,832
Granted Patent B2
US 12,605,832 · App. 18/545,986 · Granted Apr 21, 2026

Robotic control with real-time switching between trajectories

Inventors: Andre Gaschler (Munich, DE); Markus Giftthaler (Freising, DE)
Assignee: Intrinsic Innovation LLC
B25J9/1664
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,605,832
App. No.
18/545,986
Granted
Apr 21, 2026
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for switching in real-time between different trajectories during custom real-time control. One of the methods include: obtaining a definition of a first trajectory for a robot and a definition of a second trajectory for the robot; executing a current action for controlling the robot to follow set points of the first trajectory at each control tick of the real-time robotic control system, including, at each control tick of the real-time robotic control system: obtaining current data representing a latest execution status of the current action; evaluating one or more switching criteria associated with the current action according to the current data; and whenever the one or more switching criteria are satisfied during the control tick, switching to executing another action for controlling the robot to follow the second trajectory within the control tick.

Claims (42)

1 . A method performed by a real-time robotic control system, the method comprising:

generating, by one or more trajectory generators that execute in an application layer of the real-time robotic control system, a first trajectory comprising a first plurality of set points for a robot to follow for a first segment of a task and a second trajectory comprising a second plurality of set points for the robot to follow for a second segment of the task, wherein the application layer executes in accordance with a non-real-time requirement and generates the first plurality of set points in the first trajectory and the second plurality of set points in the second trajectory at a non-real-time rate, the non-real-time rate being different from a real-time rate that is defined by a timing of control ticks of the real-time robotic control system; and

controlling, by a real-time control layer of the real-time robotic control system that executes in accordance with a real-time requirement, the robot to perform the task, the controlling comprising:

generating, by the real-time control layer of the real-time robotic control system and based on the first trajectory, control signals for a robot component of the robot to track the first plurality of set points, wherein the real-time control layer generates the control signals at the real-time rate by generating, at a control tick of the real-time robotic control system, at least one control signal for the robot component to track a next set point in the first plurality of set points;

obtaining, by the real-time control layer of the real-time robotic control system, current data representing a latest execution status of the first trajectory by the robot at the control tick of the real-time robotic control system;

evaluating, by the real-time control layer of the real-time robotic control system and at the control tick of the real-time robotic control system, one or more switching criteria associated with the first trajectory according to the current data, wherein each switching criterion defines one or more conditions for real-time trajectory switching; and

in response to determining that the one or more switching criteria are satisfied during the control tick, terminating, by the real-time control layer of the real-time robotic control system, controlling of the robot to track the first plurality of set points and switching to controlling the robot to track the second plurality of set points in the second trajectory within the control tick that begins with controlling of the robot to track the next set point in the first plurality of set points.

2 . The method of claim 1 , wherein the first trajectory is a pre-planned, feedforward controlled trajectory, and the second trajectory is a feedback controlled trajectory.

3 . The method of claim 1 , further comprising:

receiving, by the real-time robotic control system, a definition of a real-time state machine of actions that are related by reactions.

4 . The method of claim 3 , wherein the actions correspond respectively to different segments of the task to be performed by the robot, and the reactions correspond respectively to respective switching criteria.

5 . The method of claim 4 , wherein the actions comprise a first trajectory tracking action corresponding to the first trajectory and a second trajectory tracking action corresponding to the second trajectory.

6 . The method of claim 2 , wherein the pre-planned, feedforward controlled trajectory comprises: a predetermined trajectory of joint positions, a predetermined trajectory of Cartesian positions, or a predetermined trajectory of velocities.

7 . The method of claim 2 , wherein the feedback controlled trajectory is defined using one or more of: segment parameters, comprising a desired constant velocity parameter, a velocity limit parameter, and an acceleration limit parameter, or blending parameters, comprising a blending scheme selection parameter and a maximum deviation parameter.

8 . The method of claim 1 , wherein the conditions are defined relative to the latest execution status of the first trajectory by the robot at the control tick of the real-time robotic control system.

9 . The method of claim 1 , wherein the conditions are defined relative to real-time sensor inputs, and wherein obtaining the current data representing the latest execution status of the first trajectory comprises obtaining the real-time sensor inputs.

10 . The method of claim 1 , wherein the conditions are defined relative to one or more state variables associated with the first trajectory, and wherein obtaining current data representing the latest execution status of the first trajectory comprises obtaining current values of the one or more state variables.

11 . The method of claim 1 , wherein the conditions are defined relative to a latest operation status of the robot, and wherein obtaining current data representing the latest execution status of the first trajectory comprises obtaining status messages reported by a controller of the robot.

12 . The method of claim 1 , wherein the non-real-time rate is slower than the real-time rate.

13 . The method of claim 1 , wherein the non-real-time rate is a varying rate or a sporadic rate.

14 . A real-time robotic control 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:

generating, by one or more trajectory generators that execute in an application layer of the real-time robotic control system, a first trajectory comprising a first plurality of set points for a robot to follow for a first segment of a task and a second trajectory comprising a second plurality of set points for the robot to follow for a second segment of the task, wherein the application layer executes in accordance with a non-real-time requirement and generates the first plurality of set points in the first trajectory and the second plurality of set points in the second trajectory at a non-real-time rate, the non-real-time rate being different from a real-time rate that is defined by a timing of control ticks of the real-time robotic control system; and

controlling, by a real-time control layer of the real-time robotic control system that executes in accordance with a real-time requirement, the robot to perform the task, the controlling comprising:

generating, by the real-time control layer of the real-time robotic control system and based on the first trajectory, control signals for a robot component of the robot to track the first plurality of set points, wherein the real-time control layer generates the control signals at the real-time rate by generating, at a control tick of the real-time robotic control system, at least one control signal for the robot component to track a next set point in the first plurality of set points;

obtaining, by the real-time control layer of the real-time robotic control system, current data representing a latest execution status of the first trajectory by the robot at the control tick of the real-time robotic control system;

evaluating, by the real-time control layer of the real-time robotic control system and at the control tick of the real-time robotic control system, one or more switching criteria associated with the first trajectory according to the current data, wherein each switching criterion defines one or more conditions for real-time trajectory switching; and

in response to determining that the one or more switching criteria are satisfied during the control tick, terminating, by the real-time control layer of the real-time robotic control system, controlling of the robot to track the first plurality of set points and switching to controlling the robot to track the second plurality of set points in the second trajectory within the control tick that begins with controlling of the robot to track the next set point in the first plurality of set points.

15 . The system of claim 14 , wherein the first trajectory is a pre-planned, feedforward controlled trajectory, and the second trajectory is a feedback controlled trajectory.

16 . The system of claim 14 , wherein the operations further comprise:

receiving, by the real-time robotic control system, a definition of a real-time state machine of actions that are related by reactions.

17 . The system of claim 16 , wherein the actions correspond respectively to different segments of the task to be performed by the robot, and the reactions correspond respectively to respective switching criteria.

18 . The system of claim 17 , wherein the actions comprise a first trajectory tracking action corresponding to the first trajectory and a second trajectory tracking action corresponding to the second trajectory.

19 . The system of claim 15 , wherein the pre-planned, feedforward controlled trajectory comprises: a predetermined trajectory of joint positions, a predetermined trajectory of Cartesian positions, or a predetermined trajectory of velocities.

20 . The system of claim 15 , wherein the feedback controlled trajectory is defined using one or more of: segment parameters, comprising a desired constant velocity parameter, a velocity limit parameter, and an acceleration limit parameter, or blending parameters, comprising a blending scheme selection parameter and a maximum deviation parameter.

21 . The system of claim 14 , wherein the conditions are defined relative to the latest execution status of the first trajectory by the robot at the control tick of the real-time robotic control system.

22 . A computer storage medium encoded with a computer program, the program comprising instructions that are operable, when executed by data processing apparatus, to cause the data processing apparatus to implement a real-time robotic control system configured to perform operations comprising:

generating, by one or more trajectory generators that execute in an application layer of the real-time robotic control system, a first trajectory comprising a first plurality of set points for a robot to follow for a first segment of a task and a second trajectory comprising a second plurality of set points for the robot to follow for a second segment of the task, wherein the application layer executes in accordance with a non-real-time requirement and generates the first plurality of set points in the first trajectory and the second plurality of set points in the second trajectory at a non-real-time rate, the non-real-time rate being different from a real-time rate that is defined by a timing of control ticks of the real-time robotic control system; and

controlling, by a real-time control layer of the real-time robotic control system that executes in accordance with a real-time requirement, the robot to perform the task, the controlling comprising:

generating, by the real-time control layer of the real-time robotic control system and based on the first trajectory, control signals for a robot component of the robot to track the first plurality of set points, wherein the real-time control layer generates the control signals at the real-time rate by generating, at a control tick of the real-time robotic control system, at least one control signal for the robot component to track a next set point in the first plurality of set points;

obtaining, by the real-time control layer of the real-time robotic control system, current data representing a latest execution status of the first trajectory by the robot at the control tick of the real-time robotic control system;

evaluating, by the real-time control layer of the real-time robotic control system and at the control tick of the real-time robotic control system, one or more switching criteria associated with the first trajectory according to the current data, wherein each switching criterion defines one or more conditions for real-time trajectory switching; and

in response to determining that the one or more switching criteria are satisfied during the control tick, terminating, by the real-time control layer of the real-time robotic control system, controlling of the robot to track the first plurality of set points and switching to controlling the robot to track the second plurality of set points in the second trajectory within the control tick that begins with controlling of the robot to track the next set point in the first plurality of set points.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2024
From: GASCHLER, ANDRE; GIFTTHALER, MARKUS
To: INTRINSIC INNOVATION LLC
Reel/Frame 067211/0836 →
Continuity (2)
Provisional Application 63435507 · Dec 27, 2022
Related Publication 20240208059A1 · Jun 27, 2024
References Cited (10)
US 10596700B2 · Corkum · 2020 [cited by examiner]
US 12165019B2 · Kishimoto · 2024 [cited by examiner]
US 12172318B2 · Guymon · 2024 [cited by examiner]
US 20200174455A1 · Fox · 2020 [cited by examiner]
US 20210362333A1 · Kolluri et al. · 2021 [cited by applicant]
US 20220347841A1 · Gaschler · 2022 [cited by examiner]
US 20220347846A1 · Gascheler et al. · 2022 [cited by applicant]
US 20240139961A1 · Gaschler · 2024 [cited by examiner]
US 20250018570A1 · Shazly · 2025 [cited by examiner]
Real Time Perception Meets Reactive Motion Generation (Daniel Kappler et al (Year: 2017). [cited by examiner]