# US 11,325,263 B2 · System and method for real-time robotic control

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,325,263 B2
- Document ID: US11325263B2
- Status: Granted
- Kind: B2
- Application number: 16/023,962
- Filed: 2018-06-29
- Published: 2020-01-02
- Granted: 2022-05-10
- Earliest claimed: 2018-06-29
- Assignees: Teradyne, Inc.
- Applicants: Teradyne, Inc.
- Inventors: Xi Chen; Douglas E. Barker
- Web page: https://patentgrep.com/patent/US11325263B2

## CPC

- B25J 9/1661: {characterised by task planning, object-oriented languages}
- B25J 13/081: {Touching devices, e.g. pressure-sensitive}
- B25J 9/1689: {Teleoperation}
- G05B 2219/32353: Use elementary control task, finite state machine and loop, inhibit, synchronisation connections
- G05B 2219/40099: Graphical user interface for robotics, visual robot user interface
- G05B 2219/40392: Programming, visual robot programming language
- Y02P 90/02: Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
- B25J: MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES ({manipulators specially adapted for use in surgery A61B34/70; manipulators used in cleaning hollow articles B08B9/04}; manipulators associated with rolling mills B21B39/20; manipulators associated with forging machines B21J13/10; {manipulators associated with picking-up and placing mechanisms B23P19/007}; means for holding wheels or parts thereof B60B30/00; {vehicles with ground-engaging propulsion means, e.g. walking members B62D57/02, B62D57/032; devices for picking-up and depositing articles or materials between conveyors B65G47/90, B65G47/91; manipulators with gripping or holding means for transferring packages B65H67/065}; cranes B66C; {manipulators used in the protection or supervision of pipe-line installations F17D5/00; walking equipment adapted for nuclear steam-generators F22B37/006}; manipulators specially adapted for, or associated with, nuclear reactors G21C; {apparatus used for handling wafers during manufacture or treatment of semiconductor H10P72/50})
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- Y02P: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS

## Abstract

Embodiments included herein are directed towards a system and method for robotic control. The system may include a graphical user interface configured to allow a user to access a data storage unit associated with a robot. The system may further include a configurable portion including the data storage unit, a manipulator controller, and a data transfer layer. The system may also include a generic portion configured to parse the configurable portion to generate a robotic controller.

## Claims

### Claim 1

A robotic control system comprising:
a configurable real-time robotic controller portion including a data storage unit, a manipulator controller, a hardware communication layer in communication with at least one robot and a data transfer layer, wherein each of the manipulator controller and the hardware communication layer include one or more configurable members that are configured using one or more configuration files linking the one or more configurable members to portions of the one or more configuration files; and
a graphical user interface including a configurable controller interface, wherein the graphical user interface is configured to allow a user to access the data storage unit of the configurable real-time robotic controller portion, wherein the configurable controller interface is in communication with the configurable real-time robotic controller portion through the data transfer layer, wherein the graphical user interface is further configured to allow a user to communicate with at least one of the manipulator controller, the hardware communication layer, and a thread, wherein the thread determines when the hardware communication layer and the manipulator controller run.

### Claim 2 (depends on 1)

The robotic control system of claim 1, wherein the graphical user interface is configured to allow a user to access the data store.

### Claim 3 (depends on 2)

The robotic control system of claim 2, wherein the graphical user interface utilizes a mark-up language to allow the user to configure the manipulator controller and the hardware communication layer.

### Claim 4 (depends on 1)

The robotic control system of claim 1, wherein the manipulator controller is configured to synchronize one or more states between a plurality of controllers using the data store.

### Claim 5 (depends on 4)

The robotic control system of claim 4, wherein the data transfer layer is configured to allow communication between the graphical user interface and the plurality of controllers.

### Claim 6 (depends on 1)

The robotic control system of claim 1, wherein the hardware communication layer is selected from the group consisting of EtherCAT, PROFINET, and real-time data exchange (“RTDE”).

### Claim 7 (depends on 1)

The robotic control system of claim 1, wherein the data storage unit includes a thread safe data pool configured to store one or more GUI commands, one or more joint states, or one or more hardware states.

### Claim 8 (depends on 1)

The robotic control system of claim 1, wherein the manipulator controller includes a state machine.

### Claim 9 (depends on 1)

The robotic control system of claim 1, wherein the hardware communication layer determines a communication protocol to use, one or more actuators or sensors to use, and one or more parameters associated with the one or more actuators or sensors.

### Claim 10 (depends on 1)

The robotic control system of claim 1, wherein the graphical user interface is configured to allow a user, via a markup language, to reconfigure at least a subportion of the real-time robotic controller configurable portion.

### Claim 11

A method for configuring a real-time robotic controller, comprising:
providing a real-time robotic controller configurable portion including a data storage unit, a manipulator controller, a hardware communication layer in communication with at least one robot and a data transfer layer;
configuring at least one of the manipulator controller and the hardware communication layer using one or more configuration files associated with at least one of the manipulator controller and the hardware communication layer, wherein each of the manipulator controller and the hardware communication layer include one or more configurable members that are configured using one or more configuration files linking the one or more configurable members to portions of the one or more configuration files;
allowing, via the graphical user interface, a user to access the data storage unit of the configurable real-time robotic controller portion, wherein the configurable controller interface is in communication with the configurable real-time robotic controller portion through the data transfer layer; and
allowing, via the graphical user interface, the user to communicate with the manipulator controller, the hardware communication layer, and a thread, wherein the thread determines when the hardware communication layer and the manipulator controller run.

### Claim 12 (depends on 11)

The robotic control method of claim 11, wherein the graphical user interface is configured to allow a user to access the data store.

### Claim 13 (depends on 11)

The robotic control method of claim 11, wherein the manipulator controller is configured to synchronize one or more states between a plurality of controllers using the data store.

### Claim 14 (depends on 13)

The robotic control method of claim 13, wherein the data transfer layer is configured to allow communication between the graphical user interface and the plurality of controllers.

### Claim 15 (depends on 11)

The robotic control method of claim 11, wherein the hardware communication layer is selected from the group consisting of EtherCAT, PROFINET, and real-time data exchange (“RTDE”).

### Claim 16 (depends on 1)

The robotic control system of claim 1, wherein the controller interface is configured to initialize a class object in the data storage unit for the graphical user interface.

### Claim 17

A robotic control system comprising:
a configurable real-time robotic controller portion including a data storage unit, a manipulator controller, a hardware communication layer in communication with at least one robot and a data transfer layer, wherein each of the manipulator controller and the hardware communication layer include one or more configurable members that are configured using one or more Extensible Markup Language (XML) configuration files linking the one or more configurable members to portions of the one or more XML configuration files; and
a graphical user interface including a configurable controller interface, wherein the graphical user interface is configured to allow a user to access the data storage unit of the configurable real-time robotic controller portion, wherein the configurable controller interface is in communication with the configurable real-time robotic controller portion through the data transfer layer, wherein the graphical user interface is further configured to allow a user to communicate with at least one of the manipulator controller, the hardware communication layer, and a thread, wherein the thread determines when the hardware communication layer and the manipulator controller run.

### Claim 18 (depends on 17)

The robotic control system of claim 17, wherein the linking between the one or more configurable members to portions of the one or more XML, configuration files is established by matching one or more tokens within the one or more XML configuration files with one or more tag names associated the one or more configurable members.
