IP Library Granted Patent US 12,502,773
Granted Patent B2
US 12,502,773 · App. 17/246,082 · Granted Dec 23, 2025

Real-time robotics control framework

Inventors: Andre Gaschler (Munich, DE); Gregory J. Prisament (East Palo Alto, CA); Sean Alexander Rowan (Ben Lamond, CA); Nils Berg (Karlsruhe, DE); Michael Beardsworth (San Francisco, CA); Nicholas Julian Cox (Mountain View, CA); Benjamin Bremer (Ottobrunn, DE)
Assignee: Intrinsic Innovation LLC
B25J9/1664B25J9/1653B25J9/1694
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,502,773
App. No.
17/246,082
Granted
Dec 23, 2025
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for controlling a robot to perform a custom real-time action. One of the methods comprises receiving, by a real-time robotics control framework, a definition of a custom real-time control function, wherein the definition specifies a plurality of actions and one or more custom reactions; repeatedly executing, by the real-time robotics control framework, the custom real-time control function at each tick of a real-time robotics system driving one or more physical robots, including: obtaining current values of one or more state variables, evaluating the one or more custom reactions specified by the custom real-time control function according to the current values of the one or more state variables, and whenever a custom reaction is satisfied, updating a current action in real time according to the custom reaction that is satisfied, and executing a next tick of the current action.

Claims (22)

1 . A computer-implemented method comprising:

receiving, by a real-time robotics control framework, custom real-time control code to be executed by one or more real-time threads of a control layer in order to drive positions at each predetermined tick of a real-time control cycle,

wherein the custom real-time control code defines functions comprising:

a custom get state function to read sensor inputs and to determine current values of one or more state variables from the sensor inputs, and

a custom control function that uses the obtained values of the one or more state variables to compute movement parameters in real-time;

performing compile-time check to determine that the custom get state function and the custom control function defined in the custom real-time control code involve no operation with nondeterministic timing; and

after performing compile-time check, repeatedly executing, by the real-time robotics control framework, the custom real-time control code at each predetermined tick of a real-time robotics control cycle, including:

executing the custom get state function defined by the custom real-time control code in a first real-time thread to read sensor inputs and to determine the current values of the one or more state variables from the sensor inputs,

executing the custom control function defined by the custom real-time control code in a second real-time thread to compute one or more updated movement parameters, and

driving the real-time robotics system according to the updated movement parameters computed by executing the custom control function defined by the custom real-time control code.

2 . The method of claim 1 , wherein executing the custom control function comprises using updated sensor values at a current tick of the real-time robotics control cycle.

3 . The method of claim 1 , wherein the real-time robotics control framework is configured to automatically execute user-provided software modules as a state machine at each tick in the control cycle to implement custom real-time robotics control.

4 . The method of claim 3 , wherein the real-time robotics control framework is configured to automatically execute user-provided non-real-time software modules to prepare the real-time environment for real-time robotics control.

5 . The method of claim 1 , wherein the custom real-time control code further comprises a custom sensing function to obtain real-time sensor data,

and wherein executing the custom real-time control code further comprises:

executing the custom sensing function to obtain updated sensor values, and

wherein executing the custom control function comprises using the obtained updated sensor values.

6 . The method of claim 1 , further comprising:

receiving, by the real-time robotics control framework, custom non-real-time control code defining a custom prepare parameters function; and

executing the custom non-real-time control code before executing the custom real-time control code.

7 . The method of claim 6 , wherein the real-time robotics control framework executes the non-real-time control code in a non-real-time thread and executes the custom real-time control code in a real-time thread of the real-time robotics control cycle.

8 . The method of claim 1 , wherein the operation with nondeterministic timing comprises an allocate memory operation or a network communication operation.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NAME OF THE THIRD INVENTOR PREVIOUSLY RECORDED AT REEL: 56426 FRAME: 682. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 13, 2024
From: GASCHLER, ANDRE; PRISAMENT, GREGORY J.; ROWAN, SEAN ALEXANDER; BERG, NILS; BEARDSWORTH, MICHAEL; COX, NICHOLAS JULIAN; BREMER, BENJAMIN
To: X DEVELOPMENT LLC
Reel/Frame 067723/0897 →
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 Jun 3, 2021
From: GASCHLER, ANDRE; PRISAMENT, GREGORY J.; CASSERO, SEAN ALEXANDER; BERG, NILS; BEARDSWORTH, MICHAEL; COX, NICHOLAS JULIAN; BREMER, BENJAMIN
To: X DEVELOPMENT LLC
Reel/Frame 056426/0682 →
Continuity (1)
Related Publication 20220347846A1 · Nov 3, 2022
References Cited (25)
US 8260460B2 · Sanders et al. · 2012 [cited by applicant]
US 9981381B1 · Nagarajan · 2018 [cited by applicant]
US 20040128671A1 · Koller et al. · 2004 [cited by applicant]
US 20070208442A1 · Perrone · 2007 [cited by examiner]
US 20090254217A1 · Pack · 2009 [cited by examiner]
US 20110071676A1 · Sanders et al. · 2011 [cited by applicant]
US 20120010772A1 · Pack et al. · 2012 [cited by applicant]
US 20180229367A1 · Lee · 2018 [cited by examiner]
US 20200001471A1 · Chen et al. · 2020 [cited by applicant]
US 20200070346A1 · Oaki · 2020 [cited by applicant]
US 20200233436A1 · Fox et al. · 2020 [cited by applicant]
US 20200276707A1 · Go et al. · 2020 [cited by applicant]
US 20210370504A1 · Beardsworth et al. · 2021 [cited by applicant]
US 20220063091A1 · Hasunuma · 2022 [cited by examiner]
US 20220314434A1 · Kranski · 2022 [cited by examiner]
US 20220347841A1 · Gaschler et al. · 2022 [cited by applicant]
US 20220347844A1 · Gaschler et al. · 2022 [cited by applicant]
EP 3646997A2 · 2020 [cited by applicant]
JP 2002187082 · 2002 [cited by applicant]
KR 1020130017698 · 2013 [cited by applicant]
KR 1020170034754 · 2017 [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2022/026886, dated Aug. 9, 2022, 11 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2022/026893, dated Aug. 16, 2022, 10 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2022/026894, dated Aug. 9, 2022, 10 pages. [cited by applicant]
Silva et al., “Implementing a distributed sensing and actuation system: the CAM BADA robots case study,” 2005 IEEE Conference on Emerging Technologies and Factory Automation, Sep. 19-22, 2005, 8 pages. [cited by applicant]