US 12,011,832 B2
Real-time robotics control framework
Andre Gaschler, Munich (DE); Gregory J. Prisament, East Palo Alto, CA (US); Sean Alexander Cassero, Santa Rosa, CA (US); Nicholas Julian Cox, Mountain View, CA (US); Benjamin Bremer, Ottobrunn (DE); Nils Berg, Karlsruhe (DE); and Michael Beardsworth, San Francisco, CA (US)
Assigned to Intrinsic Innovation LLC, Mountain View, CA (US)
Filed by Intrinsic Innovation LLC, Mountain View, CA (US)
Filed on Apr. 30, 2021, as Appl. No. 17/245,709.
Prior Publication US 2022/0347841 A1, Nov. 3, 2022
Int. Cl. B25J 9/16 (2006.01)
CPC B25J 9/1602 (2013.01) [B25J 9/1682 (2013.01); G05B 2219/50391 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
receiving, by a non-real-time application layer of a real-time robotics control framework, a definition of a custom real-time control function that specifies a custom callback function, an action, and a custom reaction that references the custom callback function, wherein the custom reaction comprises one or more conditions for triggering a real-time robotics control cycle to invoke the custom callback function;
providing, by the non-real-time application layer to a real-time control layer of the real-time robotics control framework, a command to initiate the action defined by the custom real-time control function;
repeatedly executing, by the real-time control layer of the real-time robotics control framework, the custom real-time control function at each predetermined 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 custom reaction specified by the custom real-time control function according to the current values of the one or more state variables,
whenever the one or more conditions of the custom reaction are satisfied, invoking, from the real-time control layer and to the non-real-time application layer of the real-time robotics control framework, the custom callback function, wherein invoking the custom callback function comprises providing a current action of a real-time thread executing at the real-time control layer as an argument to the custom callback function, and
in response, executing the custom callback function in the non-real-time application layer of the framework.