US-20260126815-A1 - SYSTEMS AND METHODS TO ACCOMPLISH A PHYSICAL PROCESS
Abstract
Systems and methods to accomplish a physical process are disclosed. The systems and methods can receive object data for an object that is a subject of the physical process and that specifies points of the object; determine operation sequences that each accomplish a portion of the physical process, each operation sequence providing an ordering of a set of physical operations associated with the one or more points of the object; generate an operation schedule specifying timing of performance of each operation sequence and a set of one or more sets of robots to perform each operation sequence; generate physical process data including the operation schedule and the one or more operation sequences; and communicate the physical process data to the one or more sets of robots to perform the one or more operation sequences according to the operation schedule.
Inventors
- SHANE CHRISTOPHER DITTRICH
- Sean E. Ays
- Mike Aaron Luna
- Brandon SCHMIDT
- Dean R. Mikel
- Aaron V. Whetzel
Assignees
- BUILDERS FIRSTSOURCE, INC.
Dates
- Publication Date
- 20260507
- Application Date
- 20240716
Claims (20)
- 1 . A system comprising: one or more robot stations, each robot station comprising one or more robots to perform one or more physical operations; a controller computing device in communication with each of the one or more robot stations to: receive object data for an object that is a subject of a physical process to be accomplished; determine one or more operation sequences each to accomplish a portion of the physical process, each operation sequence of the one or more operation sequences providing an ordering of a set of physical operations that are to be performed by a robot station of the one or more robot stations; generate an operation schedule specifying timing of performance of each operation sequence of the one or more operation sequences; and communicate the operation schedule and the one or more operation sequences, via a communication interface, to the one more robot stations to perform the one or more operation sequences according to the operation schedule.
- 2 . The system of claim 1 , wherein the one or more processors are further to receive system data specifying system capabilities for each robot in each station of the one or more robot stations.
- 3 . The system of claim 1 , wherein the one or more processors are further to receive object constraints, including requirements pertaining to the physical process in relation to the object, wherein the one or more processors determine the one or more operation sequences based on the object constraints, and wherein the one or more processors generate the operation schedule based on the object constraints.
- 4 . The system of claim 1 , wherein the one or more processors determine the one or more operation sequences by determining, based on the object data, a plurality of physical operations to be performed by one or more robots to accomplish the physical process, wherein the set of physical operations for which an ordering is provided by an operation sequence are from the plurality of physical operations.
- 5 . The system of claim 1 , wherein the one or more processors are further to receive operation data for a plurality of physical operations to be performed by a robot station of the one or more robot stations to accomplish the physical process, wherein the set of physical operations for which an ordering is provided by an operation sequence are from the plurality of physical operations.
- 6 . The system of claim 5 , wherein the object data specifies one or more points of the object, and wherein the one or more processors are further to associate each of the one or more points of the object with one or more physical operations of the set of physical operations based on the object data and the operation data.
- 7 . The system of claim 1 , wherein the one or more processors are further to receive: system constraints, including one or more of system capabilities and system limitations for one or more robots in each set of robots of the one or more sets of robots, wherein the one or more processors determine the one or more operation sequences based on the system constraints, and wherein the one or more processors generate the operation schedule based on the system constraints.
- 8 . The system of claim 1 , wherein the object data indicates an organization of constituent parts of the object.
- 9 . The system of claim 1 , wherein the physical process is one of: assembling the object that is the subject of the physical process; disassembling the object that is the subject of the physical process; inspecting the object that is the subject of the physical process; moving the object that is the subject of the physical process; integrating constituent parts of the object that is the subject of the physical process; and applying another element to the object.
- 10 . The system of claim 1 , wherein the object data comprises constituent part data and interconnection data to indicate one or more interconnections between two or more constituent parts.
- 11 . The system of claim 1 , wherein one or more of the plurality of physical operations is a sub-physical process comprising a plurality of physical operations.
- 12 . The system of claim 1 , wherein the timing of performance of a first of the one or more operation sequences is relative to a second of the one or more operation sequences.
- 13 . A method of a computing system to coordinate robots to perform one or more physical operations, comprising: receiving object data for an object that is a subject of the physical process to be accomplished; determining one or more operation sequences each to accomplish a portion of the physical process, each operation sequence providing an ordering of a set of physical operations that are to be performed by a robot station of one or more robot stations, each of the one or more robot stations comprising one or more robots; generating an operation schedule specifying timing of performance of each operation sequence of the one or more operation sequences and which robot station of the one or more robot stations to perform each operation sequence; and communicating the one or more operation sequences and the operation schedule to the one or more robot stations to perform the one or more operation sequences according to the operation schedule.
- 14 . The method of claim 13 , further comprising using the one or more robot stations to perform the one or more operation sequences according to the operation schedule.
- 15 . The method of claim 13 , further comprising obtaining system characteristics specifying system capabilities for the one or more robot stations.
- 16 . The method of claim 13 , further comprising: receiving object constraints, including requirements pertaining to the physical process in relation to the object, wherein the one or more operation sequences are determined based on the object constraints, and wherein the operation schedule is generated based on the object constraints.
- 17 . The method of claim 13 , wherein the determining the one or more operation sequences comprises by extracting, from the object data, operation data for a plurality of physical operations to be performed by one or more robots to accomplish the physical process, wherein the set of physical operations are selected from the plurality of physical operations.
- 18 . The method of claim 13 , further comprising receiving operation data for a plurality of physical operations to be performed by the one or more robot stations to accomplish the physical process, wherein the set of physical operations are selected from the plurality of physical operations.
- 19 . The method of claim 18 , further comprising wherein the object data specifies one or more points of the object and associating each of the one or more points of the object with one or more physical operations of the set of physical operations based on the object data and the operation data.
- 20 . The method of claim 13 , wherein the object data indicates an arrangement or organization of constituent parts of the object.
Description
RELATED APPLICATIONS This application is a continuation of U.S. Patent Application Ser. No. 17/745,670 entitled SYSTEMS AND METHODS TO ACCOMPLISH A PHYSICAL PROCESS, filed May 16, 2022, which claims the benefit of priority under 35 U.S.C. Section 119(e) of United States Provisional Patent Application No. 63/189,583 entitled SYSTEMS AND METHODS TO ACCOMPLISH A PHYSICAL PROCESS, filed May 17, 2021, each of which is hereby incorporated herein by reference in its entirety. TECHNICAL FIELD The present disclosure relates generally to the field of automation using robots and similar or other mechanical devices. BACKGROUND As technology continues to advance, a greater number of devices, (e.g., systems, robots, machines, and other “things”) become available to perform a multitude of functions. From very simple electronics to highly complex machines, more and more devices with greater autonomy are introduced. Autonomous devices (e.g., any “thing” having a measure of programmability and/or autonomy) are proliferating in use in almost every aspect of society, including but not limited to manufacturing (mass production of consumer and industrial goods), assembly and packing, transport, exploration, healthcare (e.g., surgery), and military (e.g., weaponry). Autonomous devices are being introduced to perform tasks that humans are unable to do (e.g., because of size limitations, complexity, danger, disease, regulations) or simply prefer not to do (e.g., because the tasks are repetitive, monotonous, tedious, in extreme environments such as outer space or the bottom of the sea, etc.). Autonomous devices are being introduced to increase efficiency, reduce costs, improve accuracy or quality, and many other reasons. As advanced and versatile as modern technology can create autonomous devices, coordinated operation of such devices to perform physical tasks (e.g., tasks involving coordinated interaction at points in physical space) can be challenging. From the simplest electronics to the most advanced robots, autonomous devices are generally designed and configured to perform a particular set of one or more tasks, and to perform that set repeatedly. The simpler the autonomous device, the less versatile to be able to participate in coordination with other autonomous devices to perform physical operations. A programmable thermostat can turn on and off the HVAC system (and may communicate information to other devices), but otherwise is quite limited to cooperate with other autonomous devices to perform a physical process outside of its intended purpose. On the other hand, the more complex and versatile the autonomous device, the more challenging to reconfigure the autonomous device. This is particularly the case when the interaction or coordination of the autonomous devices is at one or more physical points in physical space (as compared to, for example, an electronic interaction or a software interaction). A six-axis robotic arm can require hours of manual human programming in order to be configured to perform a particular task, and the programming is by a skilled person having understanding, education, training, and/or an otherwise acquired skillset to program. A list of actions (e.g., a recipe) must be prepared and programmed into the six-axis robotic arm for all the movements or actions that the robot is to perform as part of performing the overall task. Programming each action of the six-axis robotic arm may include setting starting points for movement and ending points of movements and pathways between such starting and ending points. Determining and programming the pathway can be the most challenging part because of physical constraints (e.g., potential obstructions in the pathway and the capability of the robot itself) in the physical environment. Often trial-and-error followed by adjustment is needed to verify pathways. Re-programming that robot to perform a different task requires repeating those hours of human programming (by a skilled programmer person) for the different task. Even robots with the most advanced artificial intelligence (AI) are focused or otherwise directed to learn and iterate improvements on a particular set of tasks, and coordination with other robots (i.e., external to the AI environment) requires significant re-programming and/or configuration. Many software systems and frameworks have been proposed to make programming robots and other autonomous devices easier. These advances have somewhat reduced the human hours required to reconfigure robots and other autonomous devices to perform a different set of tasks. Nevertheless, prior to the present disclosure, configuring coordinated operation of a set of multiple autonomous devices has in essence required manual programming and trial-and-error testing at the individual autonomous device level (i.e., individually programming each autonomous device in the set), and reconfiguring the set requires re-programming each individual autonomous device. SUMMARY The