US 12,466,067 B2
Multi-mode robot programming
Jingyi Fang, Cupertino, CA (US); Michael Christopher Degen, San Francisco, CA (US); David Andrew Schmidt, Munich (DE); and Jason Harold Tucker, San Francisco, CA (US)
Assigned to Intrinsic Innovation LLC, Mountain View, CA (US)
Filed by Intrinsic Innovation LLC, Mountain View, CA (US)
Filed on Aug. 19, 2022, as Appl. No. 17/891,849.
Prior Publication US 2024/0058963 A1, Feb. 22, 2024
Int. Cl. B25J 9/16 (2006.01); B25J 13/06 (2006.01)
CPC B25J 9/1671 (2013.01) [B25J 9/1605 (2013.01); B25J 9/1664 (2013.01); B25J 13/06 (2013.01); G05B 2219/40099 (2013.01); G05B 2219/40311 (2013.01); G05B 2219/40392 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method performed by a robotic control system, wherein the method comprises:
generating an interactive user interface that includes a synchronized mode presentation corresponding to a synchronized mode that includes an illustration of a virtual robot corresponding to a physical robot in a robotic operating environment, the virtual robot having an initial pose that corresponds to a current pose of the physical robot in the robotic operating environment;
receiving, within the interactive user interface, first user input data specifying a first target pose of the virtual robot;
updating, within the interactive user interface, the synchronized mode presentation to include, in addition to the illustration of the virtual robot corresponding to the physical robot, an illustration of a ghost robot that has the first target pose that is different from the initial pose of the virtual robot;
causing the physical robot to traverse to the first target pose specified by the received first user input data while updating in real-time the illustration of the virtual robot as the physical robot transitions from the initial pose to the ghost robot that has the first target pose;
receiving, within the interactive user interface, a user request to switch from operating in the synchronized mode to operating in an unsynchronized mode;
receiving, within the interactive user interface and when operating in the unsynchronized mode, second user input data specifying a second target pose of the virtual robot;
generating, within the interactive user interface when operating in the unsynchronized mode, an unsynchronized mode presentation corresponding to the unsynchronized mode that includes an animation of the virtual robot transitioning from the first target pose to the second target pose but withholding causing the physical robot to traverse to the second target pose, wherein the unsynchronized mode presentation corresponding to the unsynchronized mode excludes any illustration of a ghost robot that has a different pose than the virtual robot;
receiving, within the interactive user interface, a user input to synchronize the physical robot with reference to the second target pose of the virtual robot displayed in the interactive user interface when operating in the unsynchronized mode; and
in response, when operating in the unsynchronized mode, causing the physical robot in the robotic operating environment to traverse to the second target pose of the virtual robot displayed in the interactive user interface, the second target pose being specified by the second user input data received in the unsynchronized mode.