Systems and methods for automated wall panel assembly
The robotic assembly cell with cloud-based control addresses the challenges of urban construction by enabling efficient, automated building assembly, reducing labor dependence and costs, and ensuring high-quality output.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- PROMISE ROBOTICS INC
- Filing Date
- 2025-12-18
- Publication Date
- 2026-06-25
Smart Images

Figure CA2025051722_25062026_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR AUTOMATED WALL PANEL ASSEMBLYFIELD
[0001] The present disclosure generally relates to assembly and manufacturing of building structures, including building structures used in the assembly of housing units as well as other infrastructure, and in particular, to methods, systems and devices for automated assembly of building structures.INTRODUCTION
[0002] The following is not an admission that anything discussed below is part of the prior art or part of the common general knowledge of a person skilled in the art.
[0003] In recent years, many urban centers have experienced an increasing shortage of housing (e.g., single-family homes and condominium units) caused, in-part, by a low supply of new housing construction that has lagged behind growing consumer demand. The low supply of new housing construction is driven by a combination of factors, including antiquated and manual construction processes that result in elongated construction timelines, as well as an increasing absence of a skilled labor workforce (e.g., skilled construction workers).
[0004] Current automated systems are not fully able to adapt to the specific demands of construction tasks. Significant mechanical and logistical challenges exist for robotic systems, which must be designed to lift, position, and assemble components under a variety of conditions.SUMMARY
[0005] The following introduction is provided to introduce the reader to the more detailed discussion to follow. The introduction is not intended to limit or define any claimed or as yet unclaimed invention. One or more inventions may reside in any combination or sub-combination of the elements or process steps disclosed in any part of this document including its claims and figures.
[0006] In one broad aspect, there is provided a workpiece assembly tool configured as an end effector for an assembly robot, the workpiece assembly tool operable toassemble workpieces, the workpiece assembly tool comprising: a tool frame; a workpiece alignment subassembly comprising: two alignment pins for aligning a workpiece each comprising an elongated body with a longitudinal axis, wherein the elongated body has a distal end and a proximal end, the distal end having a taper, the taper extending from the body to the distal end, decreasing in diameter along the longitudinal axis of the alignment pin; two grippers slidably disposed along a fixture, the two grippers configured to slide across the fixture to adjust a space disposed between the two alignment pins; two actuators positioned in operative engagement with the proximal ends of the two alignment pins, the two actuators coupled to the two grippers, respectively; and one or more sensors coupled to the two grippers, each of the one or more sensors configured to emit a detection beam, wherein the detection beams are directed towards an area around the distal end of the alignment pins.
[0007] In at least one example embodiment, the two grippers are configured to move toward or apart from one another synchronously so that the space disposed between the two alignment pins is reduced or expanded relative to an originating position of the two grippers.
[0008] In at least one example embodiment, the two grippers are controlled by one or more actuators.
[0009] In at least one example embodiments, the one or more actuators are servo motors.
[0010] In at least one example embodiment, the workpiece assembly tool further comprises a workpiece nailing subassembly, the workpiece nailing subassembly comprising: a block member that interacts at an intersection of one or more workpieces, the block member having a longitudinal axis wherein the block member is operable to apply force in a direction of the longitudinal axis of the block member; and a nailing tool.
[0011] In at least one example embodiment, the block member is mounted to an actuator, the actuator controlling the amount of force exerted by the block member.
[0012] In at least one example embodiment, the actuator comprises: a pneumatic actuator driving the block member in the direction of the longitudinal axis of the blockmember; and a pneumatic flow control air fitting controlling the pressure applied by the pneumatic actuator.
[0013] In another broad aspect, there is provided a workpiece assembly tool configured as an end effector for an assembly robot, the workpiece assembly tool operable to position and assemble workpieces, the workpiece assembly tool comprising: a tool frame; a workpiece gripper subassembly for picking and placing workpieces, the workpiece gripper subassembly comprising: a bottom member extending outward from the tool frame, wherein the bottom member comprises an upper flat surface; at least one gripping area coupled to the upper flat surface of the bottom member; a top member extending outward from the tool frame, the top member configured to actuate in a vertical direction toward and away from the bottom member; at least one adjustable member disposed between the bottom member and the top member and extending outward from the tool frame, an amount of outward extension of the adjustable member being adjustable; and at least one sensor operable to detect the position of the at least one of the adjustable member, the top member, and the bottom member.
[0014] In at least one example embodiment, the at least one gripping area comprises a plurality of steel teeth.
[0015] In at least one example embodiment, the workpiece assembly tool further comprises a workpiece nailing subassembly, the workpiece nailing subassembly comprising a nailing tool.
[0016] In at least one example embodiment, the workpiece assembly tool further comprises a clamp-down tool, wherein the clamp-down tool comprises an actuator coupled to a clamp-down block, the actuator configured to regulate a force exerted by the clamp-down block on the one or more workpieces.
[0017] In at least one example embodiment, the actuator and clamp-down block are further configured to level the one or more workpieces.
[0018] In another broad aspect, there is provided a pre-cut cart for storing workpieces comprising: a cart frame; two workpiece plates coupled to the cart frame and angled towards each other at a top edge, each comprising: a workpiece storage surfacewherein the workpiece storage surfaces of the two workpiece plates are oriented in opposing directions, the workpiece storage surface comprising: a plurality of workpiece channels, the plurality of workpiece channels oriented along an axis extending from a top edge of the workpiece storage surface to a bottom edge of the workpiece storage surface; and a rotary positioner coupled to the cart frame and configured to rotate the pre-cut cart about a vertical axis.
[0019] In at least one example embodiment, the workpiece storage surfaces each have a background color, the background color configured to maximize visual contrast with a workpiece.
[0020] In at least one example embodiment, the workpiece channels are defined by a plurality of channel posts and channel bases, the channel posts defining the workpiece channels widthwise and the channel bases defining the workpiece channels height wise and the channel posts and channel bases together defining dimensions of the plurality of workpiece channels.
[0021] In at least one example embodiment, the channel posts and channel bases may be displaced to change the dimensions of the plurality of workpiece channels.
[0022] In at least one example embodiment, the channel posts are spring-loaded.
[0023] In another broad aspect, there is provided a building platform for assembling a panel comprising: a working surface comprising a retaining edge, a clamping edge, a left edge, and a right edge; a plurality of retaining elements disposed proximate to the retaining edge of the working surface; a first workpiece clamping pin disposed proximate to an intersection of the retaining edge and the left edge of the working surface, the first workpiece clamping pin operable to actuate in a direction of a first workpiece wherein the first workpiece clamping pin provides clamping force to the first workpiece; at least one left guide block disposed proximate to an intersection of the clamping edge and the left edge the working surface, the left guide block for guiding a left edge of a second workpiece; at least one right guide block disposed proximate to an intersection of the clamping edge and the right edge of working surface, the right guide block for guiding a right edge of the second workpiece; and a plurality of second workpiece clamping pinsdisposed proximate to the clamping edge of the working surface, each of the plurality of second workpiece clamping pins operable to actuate linearly along a direction parallel to an axis extending between the retaining edge and the clamping edge of the working surface wherein the plurality of second workpiece clamping pins provide clamping force to the second workpiece.
[0024] In at least one example embodiment, the at least one right guide block and the at least one left guide block each have a chamfered surface defining a transition from a narrower portion to a wider portion.
[0025] In at least one example embodiment, one or more of the group of the plurality of retaining elements, the first workpiece clamping pin, the at least one right guide block, the at least one left guide block, and the plurality of second workpiece clamping pins are retractable.
[0026] In at least one example embodiment, one or more actuators are used to actuate the plurality of second workpiece clamping pins, the one or more actuators configured to precisely control and read the positions of the second workpiece clamping pins along the axis.BRIEF DESCRIPTION OF THE DRAWINGS
[0027] For a better understanding of the embodiments described herein and to show more clearly how they may be carried into effect, reference will now be made, by way of example only, to the accompanying drawings which show at least one exemplary embodiment, and in which:
[0028] FIG. 1 is an example system for automated assembly of building structures in accordance with some embodiments;
[0029] FIG. 2 is an example modular robotic assembly cell in accordance with some embodiments;
[0030] FIG. 3 is a process flow for an example method for automated assembly of building structures in accordance with some embodiments;
[0031] FIG. 4 is an illustration of an example configuration for a robotic assembly cell in accordance with some embodiments;
[0032] FIG. 5A is a top perspective view of an example workpiece assembly tool with a workpiece alignment subassembly in accordance with some embodiments;
[0033] FIG. 5B is a left side view of an example workpiece assembly tool with a workpiece alignment subassembly in accordance with some embodiments;
[0034] FIG. 50 is a front view of an example workpiece assembly tool with a workpiece alignment subassembly in accordance with some embodiments;
[0035] FIG. 5D is a side perspective view of an example workpiece assembly tool with a workpiece alignment subassembly in accordance with some embodiments;
[0036] FIG. 5E is a right side view of an example workpiece assembly tool with a workpiece alignment subassembly in accordance with some embodiments;
[0037] FIG. 5F is a side perspective view of another example workpiece assembly tool with a workpiece alignment subassembly in accordance with some embodiments;
[0038] FIG. 5G is a side perspective view of another example workpiece assembly tool with a workpiece alignment subassembly in accordance with some embodiments;
[0039] FIG. 6A is a perspective view of an example workpiece assembly tool with a workpiece gripper subassembly in accordance with some embodiments;
[0040] FIG. 6B is a left side view of an example workpiece assembly tool with a workpiece gripper subassembly in accordance with some embodiments;
[0041] FIG. 60 is a top perspective view of an example workpiece assembly tool with a workpiece gripper subassembly in accordance with some embodiments;
[0042] FIG. 6D is a right side view of an example workpiece assembly tool with a workpiece gripper subassembly in accordance with some embodiments;
[0043] FIG. 6E is a top perspective view of an example workpiece gripper subassembly in accordance with some embodiments;
[0044] FIG. 7A is a top perspective view of an example pre-cut cart in accordance with some embodiments;
[0045] FIG. 7B is a front view of an example pre-cut cart in accordance with some embodiments;
[0046] FIG. 70 is a side view of an example pre-cut cart in accordance with some embodiments;
[0047] FIG. 7D is another side view of an example pre-cut cart in accordance with some embodiments;
[0048] FIG. 7E is a top view of an example pre-cut cart in accordance with some embodiments;
[0049] FIG. 7F is a top perspective view of an example pre-cut cart with loaded workpieces in accordance with some embodiments;
[0050] FIG. 8A is a top view of an example building platform with a 10’ wall panel in accordance with some embodiments;
[0051] FIG. 8B is a top view of an example building platform with a 9’ wall panel in accordance with some embodiments;
[0052] FIG. 80 is a top view of an example building platform with an 8’ wall panel in accordance with some embodiments;
[0053] FIG. 8D is a close-up view of a corner of an example building platform in accordance with some embodiments;
[0054] FIG. 8E is a close-up view of another corner of an example building platform in accordance with some embodiments;
[0055] FIG. 8F is a close-up view of a bottom edge of an example building platform in accordance with some embodiments;
[0056] FIG. 8G is a close-up view of a corner of an example building platform with a workpiece in an unclamped position in accordance with some embodiments;
[0057] FIG. 8H is a close-up view of a corner of an example building platform with a workpiece in a clamped position in accordance with some embodiments;
[0058] FIG. 9 is a perspective view of an example guide block in accordance with some embodiments;
[0059] FIG. 10A is a perspective view of another example workpiece assembly tool with a workpiece alignment subassembly in accordance with some embodiments;
[0060] FIG. 10B is a perspective view of another example workpiece assembly tool with a workpiece alignment subassembly in accordance with some embodiments;
[0061] FIG. 11A is a front perspective view of another example workpiece assembly tool with a workpiece alignment subassembly in accordance with some embodiments;
[0062] FIG. 11 B is a side perspective view of another example workpiece assembly tool with a workpiece alignment subassembly in accordance with some embodiments;
[0063] FIG. 12A is a side perspective view of another example workpiece assembly tool with a workpiece alignment subassembly in accordance with some embodiments;
[0064] FIG. 12B is a side perspective view of another example workpiece assembly tool with a workpiece alignment subassembly in accordance with some other embodiments;
[0065] FIG. 13 is a perspective view of another workpiece assembly tool with a workpiece gripper subassembly in accordance with some embodiments;
[0066] FIG. 14 is a perspective view of another workpiece assembly tool with a workpiece gripper subassembly in accordance with some other embodiments;
[0067] FIG. 15A is a close-up view of another workpiece assembly tool with a workpiece gripper subassembly in accordance with some embodiments;
[0068] FIG. 15B is a close-up view of another workpiece assembly tool with a workpiece gripper subassembly in accordance with some other embodiments;
[0069] FIG. 16A is a perspective view of another workpiece assembly tool with a workpiece gripper subassembly in accordance with some embodiments;
[0070] FIG. 16B is a perspective view of another workpiece assembly tool with a workpiece gripper subassembly in accordance with some other embodiments.DESCRIPTION OF VARIOUS EMBODIMENTS
[0071] Various embodiments in accordance with the teachings herein will be described below to provide an example of at least one embodiment of the claimed subject matter. No embodiment described herein limits any claimed subject matter. The claimed subject matter is not limited to devices, systems or methods having all of the features of any one of the devices, systems or methods described below or to features common to multiple or all of the devices, systems or methods described herein. It is possible that there may be a device, system or method described herein that is not an embodiment of any claimed subject matter. Any subject matter that is described herein that is not claimed in this document may be the subject matter of another protective instrument, for example, a continuing patent application, and the applicants, inventors or owners do not intend to abandon, disclaim or dedicate to the public any such subject matter by its disclosure in this document.
[0072] For simplicity and clarity of illustration, reference numerals may be repeated among the figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the subject matter described herein. However, it will be understood by those of ordinary skill in the art that the subject matter described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the subject matter described herein. The description is not to be considered as limiting the scope of the subject matter described herein.
[0073] It should also be noted that the terms “coupled” or “coupling” as used herein can have several different meanings depending in the context in which these terms are used. For example, the terms coupled or coupling can have a mechanical, fluidic orelectrical connotation. For example, as used herein, the terms coupled or coupling can indicate that two elements or devices can be directly connected to one another or connected to one another through one or more intermediate elements or devices via an electrical or magnetic signal, electrical connection, an electrical element or a mechanical element depending on the particular context. Furthermore, coupled electrical elements may send and / or receive data.
[0074] Unless the context requires otherwise, throughout the specification and claims which follow, the word “comprise” and variations thereof, such as, “comprises” and “comprising” are to be construed in an open, inclusive sense, that is, as “including, but not limited to”.
[0075] It should also be noted that, as used herein, the wording “and / or” is intended to represent an inclusive-or. That is, “X and / or Y” is intended to mean X or Y or both, for example. As a further example, “X, Y, and / or Z” is intended to mean X or Y or Z or any combination thereof.
[0076] It should be noted that terms of degree such as "substantially", "about" and "approximately" as used herein mean a reasonable amount of deviation of the modified term such that the end result is not significantly changed. These terms of degree may also be construed as including a deviation of the modified term, such as by 1 %, 2%, 5% or 10%, for example, if this deviation does not negate the meaning of the term it modifies.
[0077] Furthermore, the recitation of numerical ranges by endpoints herein includes all numbers and fractions subsumed within that range (e.g. 1 to 5 includes 1 , 1.5, 2, 2.75, 3, 3.90, 4, and 5). It is also to be understood that all numbers and fractions thereof are presumed to be modified by the term "about" which means a variation of up to a certain amount of the number to which reference is being made if the end result is not significantly changed, such as 1 %, 2%, 5%, or 10%, for example.
[0078] Reference throughout this specification to “one embodiment”, “an embodiment”, “at least one embodiment” or “some embodiments” means that one or more particular features, structures, or characteristics may be combined in any suitable mannerin one or more embodiments, unless otherwise specified to be not combinable or to be alternative options.
[0079] As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” include plural referents unless the content clearly dictates otherwise. It should also be noted that the term “or” is generally employed in its broadest sense, that is, as meaning “and / or” unless the content clearly dictates otherwise.
[0080] Similarly, throughout this specification and the appended claims the term “communicative” as in “communicative pathway,” “communicative coupling,” and in variants such as “communicatively coupled,” is generally used to refer to any engineered arrangement for transferring and / or exchanging information. Exemplary communicative pathways include, but are not limited to, electrically conductive pathways (e.g., electrically conductive wires, electrically conductive traces), magnetic pathways (e.g., magnetic media), optical pathways (e.g., optical fiber), electromagnetically radiative pathways (e.g., radio waves), or any combination thereof. Exemplary communicative couplings include, but are not limited to, electrical couplings, magnetic couplings, optical couplings, radio couplings, or any combination thereof.
[0081] Throughout this specification and the appended claims, infinitive verb forms are often used. Examples include, without limitation: “to detect,” “to provide,” “to transmit,” “to communicate,” “to process,” “to route,” and the like. Unless the specific context requires otherwise, such infinitive verb forms are used in an open, inclusive sense, that is as “to, at least, detect,” to, at least, provide,” “to, at least, transmit,” and so on.
[0082] The example systems and methods described herein may be implemented as a combination of hardware or software. In some cases, the examples described herein may be implemented, at least in part, by using one or more computer programs, executing on one or more programmable devices comprising at least one processing element, and a data storage element (including volatile memory, non-volatile memory, storage elements, or any combination thereof). These devices may also have at least one input device (e.g. a keyboard, mouse, touchscreen, or the like), and at least one output device(e.g. a display screen, a printer, a wireless radio, or the like) depending on the nature of the device.
[0083] Some elements that are used to implement at least part of the systems, methods, and devices described herein may be implemented via software that is written in a high-level procedural language such as object-oriented programming. The program code may be written in C++, C#, JavaScript, Python, or any other suitable programming language and may comprise modules or classes, as is known to those skilled in object- oriented programming. Alternatively, or in addition thereto, some of these elements implemented via software may be written in assembly language, machine language, or firmware as needed. In either case, the language may be a compiled or interpreted language.
[0084] At least some of these software programs may be stored on a computer readable medium such as, but not limited to, a ROM, a magnetic disk, an optical disc, a USB key, and the like that is readable by a device having at least one processor, an operating system, and the associated hardware and software that is used to implement the functionality of at least one of the methods described herein. The software program code, when read by the device, configures the device to operate in a new, specific, and predefined manner (e.g., as a specific-purpose computer) in order to perform at least one of the methods described herein.
[0085] Furthermore, at least some of the programs associated with the systems and methods described herein may be capable of being distributed in a computer program product including a computer readable medium that bears computer usable instructions for one or more processors. The medium may be provided in various forms, including non-transitory forms such as, but not limited to, one or more diskettes, compact disks, tapes, chips, and magnetic and electronic storage. Alternatively, the medium may be transitory in nature such as, but not limited to, wire-line transmissions, satellite transmissions, internet transmissions (e.g. downloads), media, digital and analog signals, and the like. The computer useable instructions may also be in various formats, including compiled and non-compiled code.
[0086] As stated in the background above, major urban centers increasingly suffer from a shortage of housing. This shortage is due, in-part, to challenges in accessing a skilled labor workforce, as well as more generally, elongated timelines inherent in antiquated and manual construction processes. Similar challenges have also affected new housing supplies in remote, rural and urban areas, which also suffer from an acute lack of available labor to build new houses.
[0087] To this end, it has been appreciated that automated construction techniques may assist in mitigating the lagging supply of new housing infrastructure. For example, automated processes may decrease reliance on a skilled labor workforce and may also expedite construction timelines. Automated construction techniques may also have the benefit of reducing total construction costs.
[0088] Accordingly, the present disclosure relates to methods, systems and devices that enable automated assembly of building structures. In one example, the disclosed embodiments facilitate construction of new housing units. This includes, for example, construction of new single-family homes and condominium units. It will be understood, however, that the disclosed embodiments may also be applied to the construction of many other types of building infrastructure. The building structures can be building panels such as wall panels and floor panels.
[0089] A robotic assembly cell designed to facilitate automated assembly of building structures can include one or more assembly robots. The assembly robots can operate by engaging various types of end effectors that are operable to perform different automated assembly tasks. These may include assembly robot end effectors such as a workpiece assembly tool with a workpiece alignment subassembly and a workpiece assembly tool with a workpiece gripper subassembly. The robotic cell may also include other system components that facilitate automated assembly such as a pre-cut cart for storing building parts (also referred to herein as workpieces) and a building platform. In some cases, the robotic cell may further include features that facilitate manual intervention by human operators, as needed (e.g., a manual intervention table).
[0090] In at least some example cases, the robotic cell may be configurable, or re- configurable, to perform different, or multiple tasks. For example, the assembly robots, inside the robotic cell, can be re-configurable to assemble different types of building structures. For instance, the same robotic cell can be re-configured to assemble different building structures used for constructing a single-family home. The re-configuration process can involve engaging different types of assembly robot end effectors such as a workpiece assembly tool with a workpiece alignment subassembly and a workpiece assembly tool with a workpiece gripper subassembly. The re-configuration process may also involve varying the utilization and control of one or more pre-cut cart assemblies. The re-configuration process may further change the setup and control of the building platform. In this manner, the robotic cell can form an integrated one-stop automated solution for assembling complete buildings.
[0091] In an example application, building structures are pre-assembled (i.e., prefabricated) using the robotic cell and are transported or shipped to a construction site. At the construction site, the pre-assembled structures are rapidly assembled into the desired building infrastructure (e.g., a housing unit). Accordingly, the robotic cell can facilitate expedited construction timelines at a construction site.
[0092] The robotic assembly cell can be connected to a cloud server platform. The cloud platform monitors, controls, and coordinates operation of the robotic cell. For example, the cloud platform may generate and transmit control instructions to guide operation of assembly robots inside the robotic cell. To this end, the cloud platform may also configure, or re-configure (e.g., re-program) robotic cells to provide different functions on an as-needed basis.
[0093] In more detail, the cloud server enables a unique software-defined manufacturing service. Robotic cells may be deployed at any geographic location and connected or plugged into the remote cloud platform to become operational. The cloud platform is able to manage back-end software operation for the robotic cell. In turn, users are not required to maintain and update the back-end software in order to operate the robotic cell. This allows low capital investment and fast deployment of robotic cells by user operators (e.g., real estate developers).
[0094] In some example cases, the cloud server may host one or more machine learning models. The machine learning models may be trainable to generate control instructions for the robotic cells. For instance, a machine learning model may be trained to determine optimal assembly sequences for assembling different types of building structures. To this end, as the cloud server may communicate with multiple robotic cells - the cloud server may train the model using aggregate datasets generated or received from the multiple cells. As such, the cloud platform is uniquely able to generate highly trained, and highly efficient machine learning models.
[0095] The robotics assembly cell may also be modular and scalable. For example, multiple robotics cells can be combined in a scalable manner to form different “factory” sizes with different production volumes and / or capabilities. For example, this can include micro-factories, complete factories or otherwise anything in-between.
[0096] Robot cell “factories” can enable mass production of building structures. For example, different robotic cells, in a single factory, may be configured (or reconfigured) to assemble different building structures, as needed. In other cases, different robotic cells may assemble different portions of the same building structure. More particularly, factories may be scaled-up or scaled-down as desired to increase or decrease the number of modular cells, and thereby, increase or decrease production output. In some examples, operation of each robotic cell in the factory may be managed and coordinated by the cloud platform. In other cases, the robotic cells may be each individually controlled, such as, for example, by using a dedicated local controller.
[0097] In view of the foregoing, the disclosed embodiments provide for easy to deploy, automated assembly and manufacturing of building structures. By leveraging the efficiencies of industrialized assembly robots, it is believed that the disclosed methods and systems accelerate manufacturing times, while also removing uncertainties associated with the construction of homes and other buildings.
[0098] The automated systems may also enable reliable, just-in-time manufacturing of building structures in a wide array of construction applications. This mayallow construction projects to meet the growing demand for higher productivity, while addressing growing labor shortages and doing so in a sustainable manner.
[0099] The disclosed embodiments provide for versatility in operation modes, adjustability and customization of the manufacturing and assembly processes, efficiency in floor space usage and process steps, optimization of automated systems, and consistency in building tolerances.
[0100] It is further believed that the disclosed embodiments, which enable remote, cloud-based control of assembly robots, also assist in the democratization of assembly robots in construction. This, in turn, facilitates ease of acquisition and deployment of this technology for assembling housing. The automation of construction also has broader advantages in reducing overall construction costs for the final housing product, while increasing the quality of the output product.
[0101] Reference is now made to FIG. 1 , which shows an example system 100a for automated assembly of building structures.
[0102] As shown, system 100a generally includes a user computer terminal 102 connected, via network 110, to one or more control server(s) 106 (e.g., cloud servers) and a robotic assembly cell 104.
[0103] In operation, a user may interact with the computer terminal 102. Computer terminal 102 may, for example, enable the user to upload one or more design files 114. The design files 114 can correspond to model designs for building structures requiring assembly via robotic cell 104 (e.g., wall panels, roof / ceiling structures, etc.).
[0104] The design file(s) 114 may be transmitted from the computer terminal 102 to the cloud server 106, via network 110. Cloud server 106 may receive, parse and analyze the design file. In turn, the cloud server 106 may generate control instructions for assembling the corresponding building structure(s). The control instructions are then transmitted to the robotic cell 104 for automated assembly (e.g., in real-time or near realtime). In some example cases, the cloud server 106 may host one or more machine learning models (e.g., Al models), which provide enhanced functionality in determining and generating optimal assembly control instructions.
[0105] The cloud server 106 acts as an intermediary between user terminal 102 and the robotic cell 104. More particularly, a user may deploy the robotic cell 104 at any desired on-site or off-site location, and further connect (e.g., plug-in) the computer terminal 102 and robotic cell 104 to network 110. Cloud server 106 may then provide a “ready-to-use” software platform for remotely controlling and monitoring operation of the robotic cell 104. In turn, users deploying the robotic cell 104 are not required to manage the complexities of the automated software platform. Rather, a third party which is hosting the cloud platform may manage the back-end software, and may further update and enhance the software platform, e.g., in real-time or near real-time. In this manner, cloud server 106 can provide automated manufacturing in the form of a software as a service (SaaS), thereby enabling fast deployment of robotic cells 104, and at a low capital investment to the robotic cell user.
[0106] In more detail, computer terminal 102 may be a desktop or laptop computer, but may also refer to a smartphone, tablet computer, as well as a wide variety of “smart” devices capable of data communication. The computer terminal 102 can include a display for presenting a graphical user interface (GUI). The GUI may allow the user to input various building structure design files (e.g., CAD ® models).
[0107] Server 106 is a computer server that is connected to network 110. Server 106 has a processor, volatile and non-volatile memory, at least one network interface, and may have various other input / output devices. To this end, server 106 need not be a dedicated physical computer. For example, in various embodiments, the various logical components that are shown as being provided on server 106 may be hosted by a third party “cloud” hosting service such as Amazon™ Web Services™ Elastic Compute Cloud (Amazon EC2). As with all devices shown in the systems 100a, there may be multiple servers 106, although not all are shown. It will be understood that reference to a server 106, in the singular, may refer to one or more servers.
[0108] As explained, server 106 can provide cloud-based motion planning and control for the robotic cell 104. Server 106 may also provide more general production management services for the robotic cell, including: (i) assembly planning and scheduling, (ii) real-time or near real-time monitoring of assembly progress, (iii) management ofinventory at the robotic cell, (iv) assembly and production cost estimation, (v) controlling and supervision of required maintenance, (vi) analytics and report generation, (vii) logistics and shipping management, and / or (viii) building and component model analysis and optimization.
[0109] In some examples, some or all of the processes provided by the server 106 can be performed by one or more machine learning models, hosted on the server 106. For example, this includes the cloud-based motion and path planning, as well as the various general production management services.
[0110] Network 110 may be connected to the internet. Typically, the connection between network 110 and the Internet may be made via a firewall server (not shown). In some cases, there may be multiple links or firewalls, or both, between network 110 and the Internet. Some organizations may operate multiple networks 110 or virtual networks 110, which can be internetworked or isolated. These have been omitted for ease of illustration, however it will be understood that the teachings herein can be applied to such systems. Network 110 may be constructed from one or more computer network technologies, such as IEEE 802.3 (Ethernet), IEEE 802.11 and similar technologies.
[0111] FIG. 2 shows an example robotic assembly cell 104. As shown, the robotic cell 104 may include one or more assembly robots 204a - 204c used for assembling various building structures (e.g., wall panels, ceilings / roofs, floor panels, staircases, etc.). The assembly robots 204 can comprise any suitable robotic system including, by way of example, robotic arms and / or robotic gantry systems. The assembly robots 204 can be stationary or may dynamically move around the robotic cell 104 (e.g., along slidable tracks 208). Operation of assembly robots 204 may be controlled and guided by control instructions received from cloud server 106. In other cases, one or more assembly robots 204 may be controlled by a local computing system or processor of the robotic cell 104.
[0112] The control instructions can include instructions for the assembly robots 204 to engage and operate various end effectors. The control instructions for the assembly robots 204 to engage an end effector can specify the type of end effector to engage, the target end effector’s location, and the target end effector’s orientation. Precise steps toguide the assembly robots 204 can be provided and can include: moving to the storage location, aligning with the end effector, engaging the coupling mechanism, verifying the mechanical and electrical connections, retreating from storage, or any other suitable control instruction. The control instructions for the assembly robots 204 to operate an end effector can include initializing the end effector, selecting an operational mode, controlling the positioning and trajectory of the end effector, executing a task (e.g., aligning, gripping, assembling, fastening), monitoring feedback, performing dynamic adjustments, releasing, resetting, handling faults and safety, or any other suitable control instruction.
[0113] The robotic cell 104 may also include a building platform 210 (e.g., a table) for positioning and assembling parts. The building platform 210 can include a plurality of components (e.g., electromechanical subsystems, sensors, and guide blocks). The building platform 210 itself can be configured to operate autonomously through control instructions. The control instructions for operating the building platform can include initializing the building platform 210, identifying the positions of the components of the building platform 210, actuating or otherwise moving the components of the building platform 210, securing the components of the building platform 210, handling errors, or any other suitable control instruction. The building platform will be further discussed with reference to FIGS. 8A - 9.
[0114] The robotic cell 104 may also include other system components such as a pre-cut cart. The control instructions can include instructions to operate the pre-cut cart. For example, the control instructions can include: initializing the pre-cut cart, aligning and positioning the pre-cut cart within the robotic cell 104, organizing workpieces on the precut cart, or any other suitable control instruction. The pre-cut cart will be further discussed with reference to FIGS. 7A - 7F.
[0115] In various embodiments, the control instructions include instructions for various system elements of the robotic cell 104 to interact with each other. For example, the control instructions can command the assembly robots 204 to pick workpieces off a pre-cut cart. In another example, the control instructions can command the assembly robots 204 to place workpieces on the building platform 210.
[0116] In various embodiments, the control instructions for a system element of the robotic cell 104 may depend on the content and timing of the control instructions for another system element of the robotic cell 104. For example, the control instructions for placing workpieces on the building platform 210 and the control instructions for operating the components of the building platform 210 can be determined based on the timing of each other. In another example, the control instructions for assembly robot 204a can depend on the control instructions for assembly robot 204b and 204c.
[0117] The robotic cell 104 may further include any other system component (e.g., cutting tables, etc.) that may be used in automated or manual assembly.
[0118] As stated previously, the robotic cell 104 can be flexibly configured or reconfigured (e.g., re-programmed) to perform different or multiple tasks. For example, multi-functional assembly robots 204, building platform 210 and a pre-cut cart can be reconfigured to assemble different building structures, on as-need basis (or otherwise assemble different portions of the same structure). This can be done by transmitting new or updated control instructions to the robotic cell 104. Accordingly, the same robotic cell 104 can act as a one-stop integrated solution for various assembly needs. This, in turn, minimizes the amount of system resources and footprint required to assemble building units having different types of constituent building structures.
[0119] As also noted previously, robotic cell 104 can be used to pre-fabricate (or pre-assemble) building structures, which may be transported or shipped to a construction site for rapid assembly (e.g., into a housing unit). In other examples, the robotic cell 104 may itself be portable, such that it may be shipped directly to a construction site.
[0120] Reference is now made to FIG. 3, which illustrates a process flow for an example method 300a for automated assembly of building structures.
[0121] As shown, at 302, user computer terminal 102 may receive assembly data associated with one or more building structures (or portions of building structures) requiring assembly. For example, the building structures can include wall panels, roof / ceiling structures, floor panels, etc.
[0122] The assembly data can identify an assembled design for the building structure. In more detail, assembly data for a building structure can identify, for instance: (i) different building parts required for assembling the building structure (e.g., studs, panels, etc.); (ii) dimensions of each building part; (iii) positional configuration of each building part relative to other building parts in an assembled state (e.g., adjacent or coupled building parts), and / or (iii) a fastening configuration for building parts in the assembled state (e.g., quantity, location and type of nailing or stapling for fastening parts together). In some examples, the assembly data may comprise a CAD® model file of the building structure which requires assembly.
[0123] At 304, the assembly data is transmitted to the server 106.
[0124] At 306, the server 106 receives the assembly data.
[0125] At 308, the server 106 parses and analyzes the assembly data, and based on the parsing and analyzing, generates assembly instructions for controlling the robotic cell 104 to assemble the building structure, or any portion thereof. In at least some examples, control instructions, generated by server 106, can comprise a robotic script for controlling assembly robots 204 inside the robotic cell 104. The control instructions can be substantially similar to the control instructions described with reference to FIG. 2.
[0126] In at least one example, the control instructions can include one or more assembly sequences. Each assembly sequence can include one or more assembly tasks (e.g., a plurality of action tasks). Each assembly task can indicate: (i) the type of assembly task requiring performance, (ii) information about that assembly task, (iii) a time, or time range, for performing the assembly task, and / or (iv) a system in the robotic cell 104 designated to perform that assembly task (e.g., assembly robots, a cutting station, etc). Assembly tasks may be performed concurrently, partially concurrently or non- concurrently (e.g., consecutively).
[0127] In some examples, the assembly tasks can be one of several types, including: (i) mounting tasks, (ii) aligning tasks, and (ii) fastening tasks. Each of mounting, aligning and fastening tasks may be performed by assembly robots 204 inside the roboticcell 104. In other examples, the assembly tasks can also include fitting tasks (e.g., fitting a window or stud in a particular assembly).
[0128] A mounting task is a task that involves mounting (e.g., placing) a building part onto the building platform 210 (FIG. 2). A mounting task can involve an assembly robot 204: (a) picking-up (e.g., griping) the building part from an inventory stack or precut cart, (b) translating the building part to a relevant position over the building platform 210, and (c) dropping-off (e.g., mounting or placing) the building part onto the building platform in the correct orientation.
[0129] By way of further example, each mounting task can identify, for instance: (i) the building part requiring mounting, (ii) the mounting configuration of that building part (e.g., placement angle, orientation and / or position) on the building platform 210. The mounting configuration may be determined based on the assembly configuration determined, (iii) an assembly robot designated to perform the mounting task, (iv) in some cases, a type of gripper tool to be equipped by the assembly robot 204 to enable picking- up and mounting the building part, as well as an indication of a gripping configuration for the assembly robot 204 (e.g., a grip pose and grip location relative to the building part). In some example cases, the gripper tool and grip configuration may be selected based on the type of building part, and the desired mounting configuration. An example gripper tool, referred to as a workpiece assembly tool with a workpiece gripper subassembly, will be discussed in more detail with reference to FIGS. 6A - 6E.
[0130] A mounting sequence can refer to an aggregate of one or more mounting tasks. Accordingly, a mounting sequence may define a type of assembly sequence. For example, when assembling a wall panel comprising a top, left, right and bottom beam - the mounting sequence can indicate initially mounting the bottom beam, and subsequently, mounting the left and right beams, followed by the top beam.
[0131] An aligning task is a task that involves aligning one or more workpieces on the building platform 210 (FIG. 2). An aligning task can involve an assembly robot 204: (a) contacting the workpieces from their initial position on the building platform (b) translating or adjusting the workpieces to a desired position or orientation relative to thebuilding platform 210, and (c) ensuring proper alignment by pushing, rotating, or repositioning the workpieces into their correct configuration for subsequent assembly operations.
[0132] By way of further example, each aligning task can identify, for instance: (i) the workpieces requiring alignment, (ii) the alignment configuration of those workpieces (e.g., target position, orientation, or spacing) relative to the building platform 210, (iii) an assembly robot designated to perform the aligning task, and (iv) in some cases, the type of end effector or alignment tool to be equipped by the assembly robot 204 to enable aligning the workpieces. This may include details such as an alignment pose, contact location, or force application method relative to the workpieces. The alignment tool and configuration may be selected based on the type of workpiece, its initial position, and the desired alignment configuration. For instance, a workpiece assembly tool with a workpiece alignment subassembly may be employed to achieve precise alignment. An example alignment tool, referred to as a workpiece assembly tool with a workpiece alignment subassembly, will be discussed in more detail with reference to FIGS. 5A - 6E.
[0133] An aligning sequence can refer to an aggregate of one or more aligning tasks. Accordingly, an aligning sequence may define a type of preparation sequence within the overall assembly process. For example, when preparing to assemble a wall panel comprising multiple studs and plates, the aligning sequence can indicate initially aligning the bottom plate, followed by sequentially aligning the studs in their respective positions, and finally aligning the top plate to complete the framework.
[0134] A fastening task may involve applying one or more fasteners (e.g., nails or staples) to fasten two or more building parts together. A fastening task can involve controlling an assembly robot 204 to apply one or more fasteners to target building parts.
[0135] In some examples, each fastening task can identify: (i) the building parts requiring fastening, (ii) the fastening configuration, (iii) an assembly robot designated to perform the fastening task, (iii) whether the building structure requires lifting to enable access to an underside for applying one or more fasteners, and / or (iv) in some cases, atype of fastening tool to be equipped by the assembly robot, as well as a fastening tool configuration (e.g., orientation and / or other settings of the tool).
[0136] The fastening configuration (ii) can include: (a) locations where the fasteners are applied to the building parts, (b) the direction or axis in which the fasteners are inserted into the building parts, and (c) the type of fasteners to be applied (e.g., nails or staples).
[0137] A fastening sequence can refer to an aggregate of one or more fastening tasks. A fastening sequence may therefore also define a type of assembly sequence. For example, the fastening sequence may indicate that parts “A” and “B” should be fastened together prior to fastening part “C” to parts “A” and “B”.
[0138] In at least some cases, the fastening sequence may mirror the mounting or assembly sequence. For example, mounted parts may be immediately fastened together. In another example, mounted parts may be aligned before being fastened.
[0139] In some example cases, different assembly robots 204 can be designated to perform different mounting, aligning, or fastening tasks with a view to optimizing various factors, including optimizing assembly efficiency and assembly time. Optimizing assembly efficiency can also relate to achieving enhanced accuracy and / or repeatability. Assembly tasks can also be designated to different assembly robots with a view to preventing collisions between assembly robots operating concurrently.
[0140] In addition or in the alternative to mounting, aligning, and fastening tasks, other types of assembly tasks include, for example: (i) pre-cut raw material to desired dimensions, (ii) transporting raw material to a robotic cell, (iii) rotating or re-orienting an assembled, or partially assembled, building structures on the assembly platform 210 to enable further assembly, (iv) translating an assembled, or partially assembled building structure, to a different robotic cell, etc. These tasks can be performed by assembly robots 204, or any other robotic cell system (e.g., automated guided vehicles, etc.)
[0141] At 310, the control instructions are transmitted from the server 106 to one or more robotic cell(s) 104. In some cases, prior to transmitting the control instructions, a user may observe a simulation of the control script and / or provide adjustments ormodifications to the control sequence, e.g., via computer terminal 102. A modified control script may then be generated, which is transmitted to the robotic cell 104.
[0142] At 312, each robotic cell 104 can receive corresponding assembly control instructions, and at act 314, may execute the control instructions to assemble the corresponding building structure (or a portion thereof).
[0143] In some examples, each control instruction may be converted into one or more robot commands depending on the type of control instruction. For example, simple control instructions may be converted into a single robot command while complex control instructions may be converted into multiple robot commands. The robot commands may be executable by a robot, for example, assembly robots 204 shown in FIG. 2.
[0144] The robot command may include one or more parameter values depending on the type of robot command. For an example robot command for placing a part, the parameter values may include an approach angle and a placement location. The robot commands may be encoded using any suitable language that is usable by the robots. For example, the robot commands may be encoded using KUKA Robot Language (KRL) or extensible Markup Language (XML).
[0145] In some examples, method 300 may not require assembly data to be transmitted from the user computer terminal 102 to the server 106. For example, cloud server 106 may already pre-store assembly data for various building structures. The cloud server 106 may then access and transmit the pre-stored assembly data directly to the one or more robotic cells 104.
[0146] In other examples, method 300a can be performed using a local computing system or processor which is associated with the robotic cells. For example, a local computing system may receive (or pre-store) assembly data, which may be used to directly control the robotic cell 104.
[0147] During robotic cell activity (e.g., during act 314), the robotic cell 104 may transmit progress data, back to the server 106. Progress data can include various data about the progress of the robotic cell in completing the required assembly control instructions. For example, progress data can include the current stage of assembly forthe robotic cell 104. The progress data can also include historical execution data, such as the time taken to complete previous assembly stages. In some examples, the execution data is used for estimating the assembly cycle time, e.g., offline estimation. All information can be recorded locally and sent to the cloud after the assembly is finished. However, in real-time the overall status of the cell (e.g., standby, fault, paused, assembly in progress) can be sent directly to the cloud server 106. In some examples, the progress data is monitored by a processor of the robotic cell 104 and transmitted to the server 106 via a communication interface.
[0148] Reference is now made to FIG. 4, which illustrates an example configuration for a robotic assembly cell 104.
[0149] As shown, the robotic cell 104 may include one or more assembly robots 204. In the illustrated example, only two assembly robots 204a, 204b are shown, however, the robotic cell 104 may include any number of assembly robots 204. As provided herein, each assembly robot 204 can perform various functions including, by way of example, picking-up and dropping-off building parts, moving / translating building parts to different areas of the robotic cell 104, mounting, aligning and fastening building parts together, as well as picking-up and dropping-off partially or fully assembled building structures.
[0150] In the illustrated example, each assembly robot 204 comprises a robotic arm. The robotic arms may be configured for six degrees of motion freedom to provide sufficient rotational flexibility. In other examples, more or less than six degrees of motion freedom can be provided. In still other example, the assembly robots 204 can comprise any other desired system (e.g., a robotic gantry system).
[0151] To this end, in the exemplified embodiment, each robotic arm 204 extends between a respective first end 402ai, 402bi and a respective second end 402a2, 402b2. The first end 402ai, 402bi of each robotic arm can comprise an end effector. The end effector can be used, for example, to retain various assembly tools including tools used for fastening (e.g., nailing, stapling, etc.), picking-up and dropping-off building parts, applying sheeting, mounting studs, aligning studs, cutting pockets and holes, etc. Theend effector can also incorporate various sensors, including imaging sensors, force / toque sensors, proximity sensors, distance measurement sensors, etc.
[0152] The second end 402a2, 402b2, of each robotic arm 204, can include a drive or motion system. The drive or motion system can facilitate movement and translation of the robotic arm. For instance, the second end 402a2, 402b2 may include a drive system which slidably engages over a respective track 208a, 208b. As explained herein, the drive system may allow the assembly robots 204 to access different areas within the robot cell 104. For example, this includes accessing different parts of the assembly building platform 210 or a staging area 410. The assembly robot’s drive system may also comprise any other suitable mechanism. For example, the assembly robots 204 can be mounted on moving wheels, etc.
[0153] As further shown, a building platform 210 may be interposed between the assembly robots 204a, 204b. Building platform 210 provides a surface for placing building parts during assembly. For example, the building platform 210 can be used as a mounting surface for mounting, assembling and fastening various building parts into a structure 1306. In some examples, the building platform 210 may be operable to square a panel assembly, as will be discussed in further detail with reference to FIGS. 8A - 9.
[0154] Robot cell 104 may also include one or more staging areas 410. Staging areas 410 can define areas within the robotic cell 104 where an inventory of building parts 412 can be placed for use in assembly. For example, these can include raw and / or precut building parts (e.g., studs, beams, sheets, etc.). The staging area 410 can be continuously, or intermittently, replenished with new building parts. For example, the building parts can be stocked, re-stocked and / or replenished in the staging areas 410 manually (e.g., by human operators). In other cases, the staging area 410 can be restocked or replenished through automated mechanisms. For example, automated guided vehicles (AGVs) can deliver building parts to the staging area 410. The building parts can be stocked on a pre-cut cart, as will be discussed in further detail with reference to FIGS. 7A - 7F.
[0155] Each assembly robot 204 may have a corresponding staging area 410 from which to pick-up building parts. For instance, staging area 410a may be associated with assembly robot 204a, while staging area 410b may be associated with assembly robot 204b. In some example cases, the staging areas 410 are stocked with building parts based on assembly tasks assigned to that robot. In other cases, there may be multiple staging areas associated with each assembly robot. For example, different staging areas may be dedicated to stocking different building part types. In other cases, there may be a single common or shared staging area for multiple assembly robots.
[0156] Referring now to FIGS. 5A - 5G, there are shown perspective, side and front views of example workpiece assembly tools 500 with a workpiece alignment subassembly (also referred to as an alignment tool). Workpiece assembly tool 500 can be used stand-alone or in any combination or sub-combination with any other feature or features described herein. For example, workpiece assembly tool 500 can be mounted to the distal end 402ai of an assembly robot 204a (FIG. 4). Workpiece assembly tool 500 can be operational when mounted to assembly robot 204. If workpiece assembly tool 500 is detached or improperly mounted, it may not be activated. Any number of workpiece assembly tool 500 can be present in a robotic cell 104 and engaged with assembly robots 204 (FIG. 2 and 4). Workpiece assembly tool 500 can be operated through method 300. For example, at step 308, control instructions can be generated that define movement, mounting, and fastening actions performed using workpiece assembly tool 500.
[0157] When assembling building parts, certain configurations of building parts can cause challenges for alignment mechanisms. Inabilities to handle these configurations can lead to frequent misalignment of the building parts, resulting in improper fit or joint integrity. Furthermore, efficiency can be reduced if human operators are required to manually align these configurations of building parts. Accordingly, a workpiece assembly tool 500 with a workpiece alignment subassembly is disclosed which can align various configurations of building parts and workpieces. Workpiece assembly tool 500 includes alignment pins that are independently displaceable to accommodate various configurations of workpieces. Example configurations include an L-backer configuration and a no backer configuration.
[0158] Workpiece assembly tool 500 can include a tool frame 520 and a workpiece alignment subassembly including alignment pins 502a and 502b, actuators 504a and 504b, and sensors 506a and 506b. Workpiece assembly tool 500 can align workpiece 510.
[0159] Alignment pins 502 can be configured to align workpiece 510 and engage with pre-defined alignment features such as edges on workpiece 510. In operation, alignment pins 502 can interface with workpiece 510 in a manner that minimizes lateral or angular misalignment, enabling the workpiece assembly tool 500 to securely position and hold the workpiece during subsequent assembly operations.
[0160] Alignment pins 502 can have an elongated body with a longitudinal axis, a distal end, and a proximal end. At the distal end, alignment pins 502 can have a taper. The taper can also be described as a chamfered lead-in. The distal end can facilitate guided insertion of a workpiece. The combined effect of the taper design of the alignment pins 502 is to create a reasonably-sized mechanical capture window for a workpiece to be aligned. In some embodiments, the workpiece assembly tool 500 can be designed to align 2” wide workpieces and the alignment pins 502 can create a capture window of ±9 mm. In other embodiments, the workpiece assembly tool 500 can be designed to align other size workpieces and the alignment pins 502 can be designed to create an appropriate capture window for the target workpieces.
[0161] Actuators 504 can be configured to allow controlled displacement of alignment pins 502. Actuators 504 can be positioned in operative engagement with the proximal ends of alignment pins 502. Actuators 504 can be coupled to tool frame 520 in a coplanar arrangement and at an equivalent level along a Z-axis.
[0162] Actuators 504 can operate independently, meaning that alignment pins 502 can be displaced independently, enabling alignment of workpieces in various configurations. In an L-backer configuration, as shown in FIGS. 5A - 5E, alignment pin 502a can be displaced while alignment pin 502b remains in a neutral position. In a nobacker configuration, as shown in FIGS. 5F - 5G, alignment pins 502 can both remain in a neutral position. The no-backer configuration shown in FIGS. 5F - 5G does not depicta backing piece or building part. However, it is to be understood that a backing piece may be positioned beneath the workpiece such that it does not necessitate the asymmetric retraction of the alignment pins.
[0163] In some embodiments, actuators 504 can be gas shock absorbers. The gas shock can include a chamber containing a compressible gas that provides a resilient, biasing force on the alignment pins 502, urging the alignment pins into a neutral position when not engaged with a backing piece, such as backing piece 511 . When the distal ends of alignment pins 502 come into contact with a backing piece, alignment pins 502 can be displaced by actuator 504 to a displaced position to afford space for backing piece 511 while maintaining alignment of workpiece 510.
[0164] In some embodiments, actuators 504 can be active actuators. For example, actuators 504 can be electrically powered actuators that actively control the positioning of alignment pins 502 and actuate alignment pins 502 between neutral and displaced positions, as shown in FIG. 5F. For example, this may be useful in facilitating enhanced control of workpieces 510, 512, and backer pieces (not shown), permitting precise orientational adjustment of workpieces based on a particular wall panel design. Additionally, the use of active actuators may permit varied application of resistance, further enhancing control of the alignment process.
[0165] In some embodiments, actuators 504 can incorporate hydraulic dampers, mechanical springs, pneumatic springs, elastic bushings, magnetic dampers, friction dampers, motorized tracks, or any other actuator able to allow controlled displacement of alignment pins 502. In some embodiments, actuators 504 incorporating one or more of these mechanisms may be active actuators. For example, a pneumatic spring may act as an active actuator where valves or regulators are used to vary the internal pressure such that resistance can be controlled to permit precise displacement of alignment pins 502. Sensors 506 can be configured to detect the area around the distal end of alignment pins 502 and determine the presence or absence of workpieces in the area. The information from sensors 506 can be used to determine the location and timing for the workpiece assembly tool 500 to pounce on workpiece 510. In some embodiments, sensors 506 are laser distance sensors and are configured to emit detection beams. Laser distancesensors can detect workpieces using the detection beam by measuring the qualities of the reflected light.
[0166] Sensors 506 can be coupled to tool frame 520. As shown in FIGS. 5A - 5G, sensors 506 can be coupled to tool frame 520 in line with the coupling of actuators 504 and the detection beams of sensors 506 can be parallel with the longitudinal axis of alignment pins 502. In other embodiments, sensors 506 can be coupled to tool frame 520 at any location and in any orientation that allows sensors 506 to detect the area around the distal end of alignment pins 502. In some embodiments, sensors 506 can be coupled to tool frame 520 such that the emitted detection beams are not parallel but rather angled towards or away from each other.
[0167] In other embodiments, sensors 506 can be ultrasonic sensors, capacitive sensors, inductive sensors, infrared sensors, time-of-flight sensors, radar sensors, optical sensors, or any other sensors that allow detection around the distal ends of alignment pins 502.
[0168] Tool frame 520 can be a structural component for providing support to the other elements of the workpiece assembly tool 500. Tool frame 520 can maintain the necessary stability and rigidity, ensuring proper performance while executing assembly tasks. Tool frame 520 can be constructed from high-strength materials (e.g., metal alloys or reinforced composites). Tool frame 520 can be designed to withstand the forces and stresses encountered during operation. Tool frame 520 can have multiple members for coupling various components of workpiece assembly tool 500. For example, tool frame 520 can have one or more members for coupling a workpiece gripper subassembly and one or more other members for coupling a nailing subassembly.
[0169] Workpiece assembly tool 500 can also include a workpiece nailing subassembly. The workpiece nailing assembly can include a block member 530 and a nailing tool 532. Block member 530 can interact at an intersection of one or more parts of workpiece 510 and can apply force to the intersection of one or more parts of workpiece 510, aligning the top part faces in one plane. Block member 530 can have a longitudinal axis and can apply force to one or more parts of workpiece 510 in the direction of thelongitudinal axis. Block member 530 can be mounted to tool frame 520. In some embodiments, block member 530 can be mounted to tool frame 520 such that the longitudinal axis of block member 530 is parallel with the longitudinal axis of alignment pins 502.
[0170] In some embodiments, nailing tool 532 can be a nail gun. In other embodiments, nailing tool 532 can be any other fastening tool that can fasten workpieces together. Nailing tool 532 can be engaged to drive one or more nails into a workpiece. Nailing tool 532 can align one or more nails at target locations according to the control instructions. Nailing tool 532 can be coupled to tool frame 520.
[0171] Workpiece assembly tool 500 can include other tool components such as pneumatic dump valve 544, push bar 542, vacuum bar 540, and tool changer 550 - each of which can be mounted to tool frame 520.
[0172] Pneumatic dump valve 544 can de-energize workpiece assembly tool 500 by releasing the supply of compressed air, effectively isolating the tool from its power source. Upon receiving an appropriate control signal, the pneumatic dump valve opens to rapidly release the compressed air from the pneumatic system of workpiece assembly tool 500. Pneumatic dump valve 544 can serve as a safety mechanism, ensuring that the tool remains de-energized and preventing accidental or unintended operation.
[0173] Push bar 542 can engage and move items along a flow conveyor during automated material handling or assembly operations.
[0174] Vacuum bar 540 can grip workpieces during automated material handling or assembly operations. Vacuum bar 540 can create a vacuum seal between its surface and a workpiece, generating a force that holds the workpiece in place. Vacuum bar 540 can release the workpiece on a building platform 210 (FIGS. 2 and 4).
[0175] Tool changer 550 can facilitate the exchange of workpiece assembly tool 500 with assembly robots 204 (FIGS. 2 and 4). Tool changer 550 allows assembly robots 204 to engage or release a locking mechanism (e.g. through pneumatic, electric, or hydraulic means). Tool changer 550 can include electrical or fluid coupling features totransmit power, signals, or pressurized fluids between assembly robots 204 and workpiece assembly tool 500.
[0176] Referring now to FIGS. 10A - 12B, there are shown perspective, front, and side views of another example workpiece assembly tool 1000 in accordance with embodiments of the present disclosure, where workpiece assembly tool 1000 of FIGS. 10A - 12B is analogous to workpiece assembly tool 500 of FIGS. 5A - 5G and the teachings of workpiece assembly tool 500 apply to the extent they do not conflict. The same applies for the analogous elements of workpiece assembly tool 1000 of the same name, as will be discussed below.
[0177] Workpiece assembly tool 1000 may comprise a workpiece alignment subassembly including sliders 1008a, 1008b, an actuator 1008c, and a fixture 1008d. Used together, these components may act as a parallel gripper, permitting the alignment pins 1002a, 1002b coupled to actuators 1004a, 1004b and sensors 1006a, 1006b to displace horizontally to accommodate different workpiece thicknesses. The sliders 1008a and 1008b are configured to slide across fixture 1008d as controlled by actuator 1008c. For example, the actuator 1008c may be a servo motor, allowing precise control of the sliders 1008a and 1008b. Alignment pins 1002a, 1002b, actuators 1004a, 1004b, and sensors 1006a, 1006b are mounted to the sliders 1008a and 1008b and move in unison with them. In operation, slider 1008a and slider 1008b are configured to displace horizontally away from and toward one another in synchrony. In other words, slider 1008a and slider 1008b are controlled by actuator 1008c to displace an equal amount across fixture 1008d. This may permit the alignment pins 1002a and 1002b to displace horizontally such that different thicknesses of workpiece 1010 can be accommodated. For example, the alignment pins 1002a and 1002b are configured to accommodate workpiece thicknesses including, but not limited to, 38mm, 76mm, and 114mm, where 38mm is equal to 1.5 inches, or a nominal width of 2. This may be useful, for example, when laminating multiple workpieces with a nominal width of 2 together to create stronger studs. It may also be useful, for example, in constructing door or window frames or different wall types, allowing the workpiece assembly tool 1000 to process loads with greater efficiency and accuracy.
[0178] Workpiece assembly tool 1000 may further comprise a workpiece nailing subassembly including a nailing tool 1032 and a clamping block assembly which can apply force to the intersection of one or more parts of workpieces 1010 and 1012, aligning the top faces in one plane. The clamping block assembly can include an actuator 1120 and a clamping block 1130. In some embodiments, the actuator 1120 may be pneumatic, and may include a pneumatic flow control air fitting 1110 to adjust the pressure at which the actuator 1120 drives the clamping block 1130 to clamp the workpieces. The pneumatic flow control air fitting 1110 may be used to dynamically adjust the pressure to vary the amount of force exerted, allowing a custom clamping force to be achieved and permitting use with different types of materials of workpieces 1010 and 1012. The clamping block assembly may be mounted to tool frame 1020. Workpiece assembly tool 1000 may further comprise a vacuum bar 1040, push bar 1042, and tool changer 1050. The pneumatic dump valve 544 of example workpiece assembly tool 500 is not required on workpiece assembly tool 1000 and may be located elsewhere to service other tools in the system and not only the workpiece alignment subassembly.
[0179] Referring back to FIGS. 5A - 5G, an example assembly method for a workpiece 510 using workpiece assembly tool 500 is now described. As shown in FIGS. 5A - 5E, workpiece 510 can be an L-backer configuration stud, as defined by the asymmetric, orthogonal relative positions of workpiece 510 and backing piece 511 . In other words, workpiece 510 can be a stud and backing piece 511 can be in an L-backer configuration. In this method, workpiece assembly tool 500 be mounted to the distal end 402a of an assembly robot 204 (FIG. 4) and can be operated through control instructions generated as discussed with reference to FIG. 3. The steps of this assembly method need not be performed in the order described below and some of the steps may be performed in parallel.
[0180] Workpiece assembly tool 500 can receive control instructions that include the positions of workpieces to be aligned, such as workpiece 510. The positions of workpieces can be determined by the server 106 in generating the assembly sequence. The workpiece assembly tool 500 can navigate to the positions of workpieces to be aligned as defined by the assembly sequence. For example, workpiece assembly tool500 can navigate to a first workpiece to be aligned and perform the actions on the first workpiece defined by the assembly sequence. Next, workpiece assembly tool 500 can navigate to a second workpiece to be aligned and perform the actions on the second workpiece defined by the assembly sequence. Workpiece assembly tool 500 can continue to navigate to any number of workpieces and can perform any number of actions, as defined by the assembly sequence.
[0181] When workpiece assembly tool 500 is navigated to a workpiece 510, sensors 506 can conduct a GO / NO-GO check for workpiece presence. This check can confirm that workpiece 510 does not fall outside of the mechanical capture window defined by alignment pins 502.
[0182] The results from the GO / NO-GO check can be used to determine the next action of workpiece assembly tool 500. If no workpiece is detected in the path of the detection beams of sensors 506, resulting from the workpiece 510 falling within the mechanical capture window, workpiece assembly tool 500 can pounce on workpiece 510. If a top face of workpiece 510 is detected by sensors 506, the workpiece assembly tool 500 can move to conduct an edge detection check using sensors 506. Once an edge of workpiece 510 is detected, the workpiece assembly tool 500 can pounce on workpiece 510. Workpiece assembly tool 500 can reposition workpiece 510, if necessary. For example, workpiece assembly tool 500 can return workpiece 510 to a nominal position. In an alternative embodiment, the edge detection check can be conducted using two sensors 506 mounted at an angle relative to one another and trained to detect outside faces of workpiece 510. Angled sensors 506 can triangulate the position of workpiece 510 and generate positional feedback confirming whether the workpiece is located within the mechanical capture window defined by alignment pins 502. If workpiece 510 is not located within the mechanical capture window, the position of workpiece assembly tool 500 can be adjusted. For example, the positional adjustment can be calculated using measurements from sensors 506. After the position of workpiece assembly tool 500 is adjusted and workpiece 510 is located within the mechanical capture window, workpiece assembly tool 500 can pounce on workpiece 510.
[0183] When the workpiece assembly tool 500 pounces on workpiece 510, alignment pins 502 are aligned with edges of workpiece 510. The tapered distal ends of alignment pins 502 guide workpiece 510 between alignment pins 502. The distal end of alignment pin 502a contacts the backing piece 51 1 and is displaced through actuator 504a. The distal end of alignment pin 502b does not contact a backing piece and is not displaced. As a result, alignment pin 502b is in a neutral position and alignment pin 502a is in a displaced position. Alignment pins 502 hold workpiece 510 in place for subsequent actions applied to workpiece 510.
[0184] In some embodiments, workpiece assembly tool 500 can next perform a fastening operation on workpiece 510. Workpiece 510 may be fastened to a plate such as plate 512. Plate 512 can be any building part such as a top plate or a bottom plate. For example, the workpiece nailing subassembly of workpiece assembly tool 500 can perform a nailing operation through plate 512 and into workpiece 510, thereby fastening plate 512 and workpiece 510 together. Block member 530 can control the top face of workpiece 510 by applying force in the direction of the longitudinal axis of block member 530. Block member 530 can simultaneously apply force to the top face of plate 512. This force can secure and align the top face of one or more building parts - such as workpiece 510 and plate 512 - in a single plane. In at least some embodiments, the fastening step does not fasten workpiece 510 to backing piece 511 .
[0185] Nailing tool 532 can be engaged to drive one or more nails into workpiece 510. Nailing tool 532 can align one or more nails at target locations according to the control instructions. The control instructions relating to nailing can be determined based on an assembly ruleset that is configurable by the user and an applicable building code. In some embodiments, nailing tool 532 can apply two nails at each fastening step to fasten a plate to a workpiece.
[0186] After performing the nailing operation, workpiece assembly tool 500 can perform any command defined by the control instructions. For example, workpiece assembly tool 500 can retract nailing tool 532 to a neutral position, move to a standby position, prepare for the next operation, reposition to a next location, or perform any other suitable action.
[0187] As shown in FIGS. 5F - 5G, in another example assembly method for a workpiece 510 using workpiece assembly tool 500, workpiece 510 can be aligned at a position with no backing piece (also referred to herein as a no-backer configuration). In such a configuration, the example assembly method may be substantially similar to the example assembly method described with reference to FIGS. 5A - 5E except that the distal ends of alignment pins 502a and 502b do not contact a backing piece when the workpiece assembly tool 500 pounces on workpiece 510. Thus, alignment pins 502a and 502b are not displaced and can remain in a neutral position. In some embodiments, aligning a no-backer configuration stud is the intended main use case.
[0188] As further shown in FIG. 5F, actuators 504 can be active actuators that control the extension or retraction of alignment pins 502, individually.
[0189] In some embodiments, the assembly method may comprise the additional step of detecting a thickness of workpiece 1010 and causing the sliders 1008a and 1008b to displace accordingly, as shown in FIGS. 10A - 12B. In accordance with this embodiment, after a top face of the workpiece 1010 has been detected, the sensors 1006a and 1006b may be used to perform an edge detection check to determine the location of the outside faces of workpiece 1010. Positional feedback may then be generated for the sliders 1008a and 1008b. The actuator 1008c may then cause the sliders 1008a and 1008b to displace horizontally across fixture 1008d so that the alignment pins 1002a and 1002b may be in contact with the outside faces of workpiece 1010.
[0190] Referring now to FIGS. 6A - 6E, there are shown perspective, side, and close-up views of an example workpiece assembly tool 600 with a workpiece gripper subassembly (also referred to as a gripper tool). Workpiece assembly tool 600 can be used stand-alone or in any combination or sub-combination with any other feature or features described herein. For example, workpiece assembly tool 600 can be mounted to the distal end 402bi of an assembly robot 204b (FIG. 4). Workpiece assembly tool 600 can be operational when mounted to assembly robot 204. If workpiece assembly tool 600 is detached or improperly mounted, it may not be activated. Any number of workpiece assembly tool 600 can be present in robotic cell 104 and engaged with assembly robots204 (FIGS. 2 and 4). Workpiece assembly tool 600 can be operated through method 300. For example, at step 308, control instructions can be generated that define movement, gripping, and fastening actions performed using workpiece assembly tool 600.
[0191] During automated assembly of building parts, there may be a need to pick and place, or mount, workpieces of various sizes. Workpiece assembly tool 600 includes a tool frame 620 and a workpiece gripper subassembly including a bottom member 602, a top member 604, adjustable members 608a and 608b, and sensors 610a and 610b. Workpiece assembly tool 600 can grip, move, position, and / or align a workpiece (not shown).
[0192] In some embodiments, workpiece assembly tool 600 can be configured to grip workpieces of any length between approximately 5” and 120”. Workpiece assembly tool 600 can grip various materials such as 2” x 4” studs, 2” x 6” studs, single-ply studs, double-ply studs, or any other suitable building parts.
[0193] Tool frame 620 can be a structural component for providing support to the other elements of the workpiece assembly tool 600. Tool frame 620 can maintain the necessary stability and rigidity, ensuring proper performance while executing assembly tasks. Tool frame 620 can be constructed from high-strength materials (e.g., metal alloys or reinforced composites). Tool frame 620 can be designed to withstand the forces and stresses encountered during operation. Tool frame 620 can have multiple members for coupling various components of workpiece assembly tool 600. For example, tool frame 620 can have one or more members for coupling a workpiece gripper subassembly and a one or more other members for coupling a nailing subassembly.
[0194] Bottom member 602 can extend outward from tool frame 620. Optionally, bottom member 602 can be fixedly attached to tool frame 620. In alternative embodiments, bottom member 602 can be actuated towards and away from top member 604. In such embodiments, bottom member 602 can be actuated using any actuation method such as pneumatic actuation, hydraulic actuation, mechanical actuation, electric actuation, or any other suitable actuation method. Bottom member can have an upper surface that includes gripping areas 606a, 606b, and 606c. Gripping areas 606 canincrease the gripping strength of bottom member 602 on a workpiece. For example, gripping areas 606 can penetrate slightly or provide friction against the surface of a workpiece. In some embodiments, gripping area can have a plurality of gripping teeth designed to contact the surface of a workpiece. Gripping teeth can be manufactured using a durable material such as steel. Although three gripping areas 606a, 606b, and 606c are shown in example workpiece assembly tool 600, it will be understood that bottom member 602 can include any number of gripping areas 606. In alternative embodiments, bottom member 606a can have gripping areas of any size or shape.
[0195] Top member 604 can extend outward from tool frame 620 and can be configured to actuate toward and away from bottom member 602 such that a compression force is applied to a workpiece positioned in between bottom member 602 and top member 604. Top member 604 can be actuated using any actuation method such as pneumatic actuation, hydraulic actuation, mechanical actuation, electric actuation, or any other suitable actuation method. Top member 604 can include gripping areas on a bottom surface of top member 604 in addition to or instead of gripping areas 606a, 606b, 606c on bottom member 602.
[0196] Adjustable member 608 can be adjusted such that various sizes of workpieces can be accommodated by the workpiece gripper subassembly. Adjustable members 608 can be disposed between bottom member 602 and top member 604 and can extend outward from tool frame 620. Adjustable members 604 can extend outward in the same direction as bottom member 602 and top member 604. The amount of outward extension of adjustable members 604 can be adjusted to fit different workpieces between bottom member 602 and top member 604. For example, the workpiece gripper subassembly can be adjusted to accommodate both 2 x 4 studs and 2 x 6 studs by employing adjustable members 608 with a pitch-over mechanism providing a one and a half inch stroke.
[0197] In some embodiments, adjustable members 608 can be pneumatic cylinders configured to provide controlled linear motion in the direction of outward extension from tool frame 620. When compressed air is supplied to the pneumatic cylinder, a force is generated that extends or retracts the adjustable member 608. In theextended position, adjustable members 608 can reduce the gripping width between bottom member 602 and top member 604, allowing for gripping of 2 x 4 studs. In the retracted position, adjustable members 608 can increase the gripping width between bottom member 602 and top member 604, allowing for gripping of 2 x 6 studs. Adjustable members 608 can be continuously adjustable, allowing for gripping of any workpieces with any nominal widths between 4” and 6”. Adjustable members 608 can be designed with other stroke lengths to accommodate different widths of workpieces. Although two adjustable members 608 are shown in example workpiece assembly tool 600, it will be understood that there can be any number of adjustable members 608. For example, there may be only one adjustable member disposed between bottom member 602 and top member 604.
[0198] In alternative embodiments, both bottom member 602 and top member 604 can be adjustable to vary their outward extension from tool frame 620 such that various sizes of workpieces can be gripped through the workpiece gripper subassembly. The outward extension of bottom member 602 and top member 604 can be adjusted automatically or manually. In such embodiments, adjustable members 608 may be replaced by ejector pins, fixed cylinder members or may be removed altogether.
[0199] Sensors 610 can detect the position of top member 604 to verify the material gripping state of top member 604. Sensors 610 can be proximity sensors, presence detection sensors, or any other suitable sensor for sensing the position of top member 604. Although two sensors 610 are shown in example workpiece assembly tool 600, it will be understood that there can be any number of sensors 610. For example, there may be only one sensor. In alternative embodiments, there are no sensors 610 on workpiece assembly tool 600. Instead, the positions of adjustable members 608 can be detected using another method such as electrically or through a sensing system internal to adjustable members 608.
[0200] Workpiece assembly tool 600 can also include a workpiece nailing subassembly. The workpiece nailing assembly can include a nailing tool 632. Nailing tool 632 can be engaged to drive one or more nails into a workpiece. Nailing tool 632 can align one or more nails at target locations according to the control instructions. Nailingtool 632 can be coupled to tool frame 620. Nailing tool 632 can be coupled to tool frame 620 at an end of tool frame 620 opposite from the coupling of the workpiece gripper subassembly.
[0201] Workpiece assembly tool 600 can include other tool components such as hard stop 612, tool changer 650, and input / output (I / O) bank 660. Hard stop 612 can prevent over travel of top member 604 and / or set the travel distance of top member 604.
[0202] Tool changer 650 can facilitate the exchange of workpiece assembly tool 600 with assembly robots 204 (FIGS. 2 and 4). Tool changer 650 allows assembly robots 204 to engage or release a locking mechanism (e.g. through pneumatic, electric, or hydraulic means). Tool changer 650 can include electrical or fluid coupling features to transmit power, signals, or pressurized fluids between assembly robots 204 and workpiece assembly tool 600.
[0203] I / O bank 660 can be configured as a centralized hub for workpiece assembly tool 500 connectivity and communication. All electrical components (e.g. sensors and actuators) of workpiece assembly tool 600 can be coupled to I / O bank 660, enabling the transmission of electrical signals to a control unit.
[0204] Referring now to FIGS. 13 - 16B, there are shown perspective, front, side, and close-up views of another example workpiece assembly tool 1300 in accordance with embodiments of the present disclosure, where workpiece assembly tool 1300 of FIGS. 13 - 16B is analogous to workpiece assembly tool 600 of FIGS. 6A - 6E and the teachings of workpiece assembly tool 600 apply to the extent they do not conflict. The same applies for the analogous elements of workpiece assembly tool 1300 of the same name, as will be discussed below.
[0205] Workpiece assembly tool 1300 with a workpiece gripper subassembly may operate largely the same as workpiece assembly tool 600. The workpiece assembly tool 1300 may comprise a tool changer 1350, a workpiece gripper subassembly, and a workpiece nailing subassembly including a nailing tool 1332. The workpiece gripper subassembly may similarly include a top member 1304, bottom member 1302, adjustable members 1308a, 1308b, gripping areas 1306a, 1306b, an I / O port 1460 and a sensorassembly 1310 including one or more sensors. In some embodiments, the workpiece assembly tool 1300 may additionally comprise a clamp-down tool 1340. The clamp-down tool 1340 may include an actuator 1610 and a clamp-down block 1620. In operation, the actuator 1610 may regulate the clamping force applied by the clamp-down block 1620 onto one or more workpieces. As an example, the actuator 1610 may be a pneumatic cylinder. The clamp-down tool may be useful, for example, when laminating multiple workpieces together, ensuring that the top faces of the workpieces are aligned with one another and that one workpiece is not protruding relative to the other(s). This operation may be performed during nailing, where the actuator 1610 causes the clamp-down block 1620 to exert force on the top faces of one or more workpieces 1630a and 1630b while nailing tool 1332 is used to drive a nail into the workpieces 1630a and 1630b.
[0206] The clamp-down tool 1340 may be used either after workpieces 1630a and 1630b have been secured to a wall panel, or may be used while the workpieces 1630a and 1630b are not secured to anything, where the clamp-down tool 1340 may serve the additional function of holding the workpieces 1630a and 1630b in place while the nailing tool 1332 operates.
[0207] An example assembly method using workpiece assembly tool 600 is now described. In this method, workpiece assembly tool 600 can be mounted to the distal end 402a of an assembly robot 204 (FIGS. 2 and 4) and can be operated through control instructions generated as discussed with reference to FIG. 3. The steps of this assembly method need not be performed in the order described below and some of the steps may be performed in parallel.
[0208] Workpiece assembly tool 600 can receive information about the size of a target workpiece. This information can be detected by sensors disposed on workpiece assembly tool 600 or sensors disposed elsewhere on assembly robot 204. In addition, or in the alternative, this information can be provided in the control instructions generated by server 106. Specifically, the assembly sequence can include information about the target workpiece. Adjustable members 608 can actuate to an appropriate outward extension that accommodates the width of the target workpiece. This can involve extending or retracting adjustable members 608.
[0209] Workpiece assembly tool 600 can move to the position of the workpiece. Workpiece assembly tool 600 can position bottom member 602 and top member 604 around the workpiece. Top member 604 can be actuated towards bottom member 602 until a sufficient compression force is exerted on the workpiece through top member 604 and bottom member 602. Gripping areas 606 can engage with a surface of the workpiece so that the workpiece is securely gripped.
[0210] Workpiece assembly tool 600 can move the gripped workpiece around robotic cell 104 and place the workpiece on a building platform 210 (FIGS. 2 and 4). Workpiece assembly tool 600 can move the gripped workpiece to any other suitable location. Once positioned in the correct location, workpiece assembly tool 600 can release the workpiece by actuating top member 604 away from bottom member 602.
[0211] Workpiece assembly tool 600 can then perform any command defined by the control instructions. For example, workpiece assembly tool 600 can perform a fastening operation. The workpiece nailing subassembly of workpiece assembly tool 600 can be used to perform a nailing operation on the workpiece or another workpiece on building platform 210. In addition to or instead of performing a nailing operation, workpiece assembly tool 600 can move to a standby position, prepare for the next operation, reposition to a next location, or perform any other suitable action. In another example assembly method using workpiece assembly tool 600, both bottom member 602 and top member 604 can be actuated towards and away from each other to grip a workpiece. In such a configuration, the example assembly method may be substantially similar to the example assembly method described immediately above except that both bottom member 602 and top member 604 are actuated towards each other until a sufficient compression force is exerted on the workpiece through top member 604 and bottom member 602.
[0212] In some embodiments, the various assembly methods may comprise the additional step of clamping down one or more workpieces, as shown in FIGS. 16A and 16B. As the workpiece assembly tool 1300 is positioned in the vicinity of the one or more workpieces 1630a, 1630b, the actuator 1610 may cause the clamp-down block 1620 to advance linearly toward the one or more workpieces 1630a, 1630b. The clamp-downblock 1620 may engage with a top surface of the one or more workpieces 1630a, 1630b and cause them to be held in place. In some embodiments, where there is more than one workpiece, the clamp-down block 1620 may first engage with the top surface of one workpiece 1630a and continue advancing linearly until the clamp-down block 1620 also engages with the top surface of another workpiece 1630b. While two workpieces 1630a and 1630b are shown in FIGS. 16A and 16B herein, it should be understood that there may be any number of workpieces aligned in any configuration. This process may therefore continue until the clamp-down block 1620 engages with the top surface of every workpiece, therefore ensuring that the top surface of every workpiece is in plane with one another. The nailing tool 1332 may then be used to drive one or more nails into the various workpieces, assisting with lamination, for example.
[0213] Referring now to FIGS. 7A - 7F, there is shown perspective, front, side, and top views of an example pre-cut cart 700. Pre-cut cart 700 can be used stand-alone or in any combination or sub-combination with any other feature or features described herein. For example, pre-cut cart 700 can be positioned within staging area 410 (FIG. 4) and can interact with assembly robot 204. Any number of workpiece pre-cut cart 700 can be present in a robotic cell 104. Pre-cut cart 700 can be operated through method 300. For example, at step 308, control instructions can be generated that define movement, positioning or other actions performed using pre-cut cart 700.
[0214] Building material storage methods for pre-cut workpieces face challenges in efficient use of floor space and balancing accessibility and storage capacity. Low workpiece density and underutilization of valuable floor space in assembly environments can hinder the assembly process. Accordingly, a pre-cut cart 700 is disclosed which can improve accessibility, use space efficiently, and increase productivity of an automated assembly process.
[0215] Pre-cut cart 700 includes a cart frame 722, two workpiece plates 702a and 702b, and a rotary positioner 720. Each workpiece plate 702a and 702b can be used to store a plurality of workpieces in a plurality of workpiece channels on a workpiece storage surface 708. Workpiece plates 702 can be coupled to cart frame 722 and angled towards each other at a top edge. In some embodiments, workpiece plates 702 are positioned atan acute angle to one another, such that their top edges converge towards each other while their bottom edges are separated by a greater distance, forming a V-shaped configuration. In some embodiments, workpiece plates 702 can be in contact with each other at their top edges.
[0216] The workpiece channels can be oriented along the axis extending from a top edge of the workpiece storage surface 708 to a bottom edge of the workpiece storage surface 708. This orientation allows the workpieces to be datumed to a channel base 706 using the force of gravity.
[0217] The workpiece channels can be defined by channel members, such as channel posts 704a, 704b, 704c, and 704d and channel bases 706a, 706b, and 706c. Channel posts 704 can define the width of the workpiece channels while channel bases 706 can define the height of the workpiece channels. Each workpiece channel can be assigned an identifier so that it can be identified by assembly robots 204, operators, and within the control instructions. The workpiece channels can organize the workpieces in a certain order. For example, workpieces 710 may be arranged from shortest to longest from the right edge to the left edge, as shown in FIG. 7F. Organized arrangements of the workpieces may result in fewer errors and in simplified control instructions.
[0218] Although 4 channel posts and 3 channel bases are numbered, it will be understood that any number of channel posts and channel bases can be coupled to workpiece plates 702. For example, as shown in FIGS. 7A, 7B and 7F, workpiece plate 702a can include two workpiece trays, one at the top of workpiece plate 702a and one at the bottom of workpiece plate 702a. Each workpiece tray includes a plurality of channel posts 704 and a channel base 706. Each workpiece tray can store a plurality of workpieces. The workpieces stored on a workpiece storage surface can vary in size, shape, and material. Workpiece plates 702 can be loaded with building parts for any number of building assemblies and / or subassemblies. For example, pre-cut cart 700 can be loaded with the necessary building parts for multiple wall panels.
[0219] The workpiece channels of a workpiece plate 702 can be customizable. Channel posts 704 and channel bases 706 can be moved to define new channels withnew widths and heights. This allows workpiece plate 702 to be modified to fit the needs of more than one building stage or project. Alternatively, workpiece plates 702 can be removed from cart frame 722 and replaced with different workpiece plates with different workpiece channel layouts to achieve the same ends.
[0220] In some embodiments, the workpiece channels of a workpiece plate 702 can be further customized using spring-loaded channel posts 704. Upon loading and unloading workpieces from the pre-cut cart 700, a workpiece in contact with a channel post 704 may cause the channel post 704 to displace inward, This may be useful, for example, in improving efficiency of operations by enabling workpiece channel dimensions to be customized without actively moving the channel posts 704 or channel bases 706. Additionally, any workpiece coming into contact with a channel post 704 will avoid sustaining damage caused by its contact with the channel post 704, as will the assembly robot 204, as they will each face little resistance. The spring-loaded channel posts 704 further provide the benefit of enhanced efficiency by avoiding the need for the assembly robot to locate a specific channel within which to deposit a workpiece, permitting dynamic adjustments to channel dimensions to be achieved as demands change. In some embodiments, the channel bases 706 may also be spring-loaded.
[0221] The workpiece channels of workpiece plate 702a and the workpiece channels of workpiece plate 702b can be the same or different. Each pre-cut cart 700 can have a specific layout of workpiece channels. Within robotic cell 104, there may be multiple pre-cut carts 700, each with its own layout of workpiece channels.
[0222] The arrangement of workpieces in the workpiece plates 702 can be determined based on the control instructions generated by server 106. Specifically, the assembly sequence can instruct for the pre-cut cart 700 to be reloaded with workpieces in an arrangement based at least in part on one or more of the height of the workpieces, the width of the workpieces, the weight of the workpieces, assembly robot reach, collision prediction, and any other suitable factors.
[0223] Workpiece plates 702 can be coupled to cart frame 722 through any coupling mechanism. Cart frame 722 can be a rigid structural frame configured to supportworkpiece plates 702 and connect workpiece plates 702 to rotary positioner 720. Cart frame 722 can include vertical members and cross-members. Cart frame 722 can be constructed from durable materials, such as steel or aluminum.
[0224] Rotary positioner 720 can rotate cart frame 722 with workpiece plates 702 about a vertical axis, enabling angular positioning of pre-cut cart 700. Rotary positioner 720 can be powered by electric systems, pneumatic systems, hydraulic systems, or any other suitable system. The rotation caused by rotary positioner 720 can be continuous or limited to specific angular ranges. In some embodiments, rotary positioner 720 is a singleaxis rotary positioner.
[0225] Rotating pre-cut cart 700 allows the workpiece plates 702a and 702b to move and be accessible to different areas and elements of robotic cell 104. For example, in one position, workpiece plate 702a is accessible to assembly robot 204a while workpiece plate 702b is accessible to an operator. After a 180° rotation effected by rotary positioner 720, workpiece plate 702a is accessible to the operator while workpiece plate 702b is accessible to assembly robot 204a. In this way, the pre-cut cart can be reloaded at one workpiece plate while the other workpiece plate is being picked from. In other words, while pre-cut cart 700 is being re-loaded, it can still be useful to supply building parts to assembly robots 204. After a workpiece plate 702 is loaded, the workpieces on workpiece plate 702 can be indexed before pre-cut cart 700 is rotated. Pre-cut cart 700 improves efficiency by increasing re-loading frequency. Pre-cut cart 700 can be re-loaded automatically or manually.
[0226] Existing methods for utilizing computer vision systems in the automated assembly of building structures face challenges in recognizing, validating, and indexing workpieces. Certain characteristics of building parts can make it difficult for vision systems to reliably detect edges and accurately measure dimensions of the building parts. This can lead to errors in workpiece validation and indexing, reduced system efficiency, and increased downtime due to false positives or missed detections.
[0227] In some embodiments, workpiece storage surfaces 708 of pre-cut cart 700 can be designed with a background color that optimizes the ability of a vision system tovalidate and index workpieces on workpiece storage surfaces 708. The background color can be determined based on simulations and can maximize the amount of contrast between workpieces and workpiece storage surface 708. By maximizing contrast, pre-cut cart 700 can enhance edge detection, reduce noise and ambiguity, improve feature recognition, improve accuracy in measurements and increase robustness across lighting conditions.
[0228] For example, where the workpieces are yellow wood studs, the background color of workpiece storage surface 708 can be blue. The shade of blue can be selected to optimize performance of the computer vision system. The blue color can be a shade specified using a color representation model such as the RGB Model, the CMYK model, HEX code, HSL and HSV models, pantone or color matching systems, or any other method of representing colors. In other embodiments, the background color of workpiece storage surface 708 can be any color that provides sufficient contrast with the building parts loaded on workpiece storage surface 708.
[0229] Referring now to FIGS. 8A - 8F, there are shown top and close-up views of an example building platform 800 for squaring panels. Building platform 800 can be used stand-alone or in any combination or sub-combination with any other feature or features described herein. For example, building platform 800 can be positioned within robotic cell 104 (FIG. 4) and can interact with assembly robot 204. Any number of building platform 800 can be present in a robotic cell 104. Building platform 800 can be operated through method 300. For example, at step 308, control instructions can be generated that define movement, positioning, clamping, or any other actions performed by building platform 800.
[0230] Tolerances in automated assembly processes need to be controlled. Specifically, maintaining squareness of building assemblies and ensuring that workpieces meet specified geometric tolerances can be challenging. Inconsistencies in squareness of building assemblies can arise due to alignment errors or imprecise building platform configurations. Manual methods of measuring and checking squareness reduce efficiencies in automated assembly processes. Accordingly, a building platform 800 is disclosed which can automatically force squareness of a panel 840.
[0231] Building platform 800 can have a working surface 802 with a retaining edge 880, a clamping edge 882, a left edge 884, and a right edge 886. Building platform 800 can include a plurality of retaining elements 804, 806a, 806b, and 806c located near top edge 880, a first workpiece clamping pin 808, guide blocks 812a, 812b, 812c, 812d, 812e, and 812f, and a plurality of second workpiece clamping pins 814a and 814b. Building platform 800 can further include other retaining elements 810a and 810b located near left edge 884.
[0232] Retaining elements 806 can define a base position for a panel 840. Retaining elements 806 can be arranged in a line near retaining edge 880 of working surface 802 creating a true zero position in an x-direction. Retaining elements 806 can act as a physical constraint for workpieces to be aligned relative to building platform 800. In an example, a first workpiece 842 of panel 840 can be positioned against retaining elements 806 securely. This can enable the bottom plate to be fastened to subsequently mounted workpieces.
[0233] As shown in FIG. 8D, retaining element 804 can be located near a corner of retaining edge 880 and right edge 886. The combination of retaining element 804 and retaining element 806a can define a corner reference point. Workpieces can be positioned against retaining elements 804 and 806a to align their edges with the corner reference point, ensuring consistent positioning. The corner reference point can act as a physical constraint for workpieces to be aligned relative to building platform 800.
[0234] First workpiece clamping pin 808 can provide clamping force to a first workpiece 842 and can be located near a corner of retaining edge 880 and left edge 884 of working surface 802. First workpiece clamping pin 808 can be operable to actuate in a direction of first workpiece 842. As shown in FIG. 8E, first workpiece clamping pin 808 can actuate from an unclamped position 808ai to a clamped position 808a2 against first workpiece 842. When first workpiece clamping pin 808 is in clamped position 808a2, first workpiece 842 can be clamped against retaining elements 804 and 806. While first workpiece 842 is clamped, other workpieces of panel 840 can be mounted to building platform 800, aligned, and fastened by assembly robots 204 (FIGS. 2 and 4). Firstworkpiece 842 can also be referred to as a bottom plate or a top plate, depending on the chosen orientation of building platform 800.
[0235] In some embodiments, retaining elements 804 and 806 and first workpiece clamping pin 808 can be configured to be retractable. For example, as shown in FIG. 8D, retaining elements 804 and 806a can be retracted or extended using retracting assemblies 854 and 856a. In the retracted position, the entire volume of retaining elements 804 and 806 can be below working surface 802. In the extended position, retaining elements 804 and 806 can be extended above working surface 802 and operable to retain workpieces. Retaining elements 804 and 806 can each be retracted or extended independently of each other, allowing for customization of building platform 800. Retaining elements 804 and 806 can be retracted or extended continuously, meaning that a continuous range of extended or retracted heights can be achieved. Retracting assemblies 854 and 856a can be pneumatic actuation systems or any other suitable actuation systems.
[0236] Retaining elements 810a and 810b located near left edge 884 can provide further squaring functionality by constraining the left edge of panel 840. Retaining elements 810a and 810b can be retractable in a substantially similar manner to retaining elements 804 and 806a. When retaining elements 810 are not necessary, they can be retracted to a retracted position. For example, as shown in FIG. 8C, panel 840c can extend leftwards beyond the position of retaining elements 810. In this embodiment, retaining elements 810 are retracted to a retracted position.
[0237] Guide blocks 812 can guide the edges of a second workpiece 844. At least one left guide block 812a, 812b, or 812c can be located near the corner of clamping edge 882 and left edge 884. At least one right guide block 812d, 812e, or 812f can be located at the corner of clamping edge 882 and right edge 886. Left guide block 812a - 812c can guide a left edge of second workpiece 844 and right guide block 812d - 812f can guide a right edge of second workpiece 844. Second workpiece 844 can also be referred to as a cap plate.
[0238] As shown in FIG. 9, guide blocks 812 can have a chamfered surface 813 defining a transition from a narrower portion 813a to a wider portion 813b. The design of guide block 812 facilitates positioning of second workpiece 844 by guiding second workpiece 844 from narrower portion 813a to wider portion 813b. It will be understood that guide block 812 can have a modified design that achieves the same guiding function. For example, the angle of chamfered surface 813 can be smaller or larger.
[0239] One or more guide blocks 812 can be engaged for each assembly process. When guide blocks 812 are engaged, they can be in an extended position. When guide blocks are disengaged, they can be in a retracted position. Guide blocks 812 can be retracted using retracting assemblies substantially similar to retracting assemblies 854 and 856 and in a manner substantially similar to that described with reference to retaining elements 804 and 806.
[0240] As shown in FIG. 8A, guide blocks 812c and 812f can be engaged to guide a second workpiece 844a of panel 840a wherein panel 840a has an overall height of 10 feet. Guide blocks 812a, 812b, 812d, and 812e can be retracted in this embodiment. As shown in FIG. 8B, guide blocks 812b and 812e can be engaged to guide a second workpiece 844b of panel 840b wherein panel 840b has an overall height of 9 feet. Guide blocks 812a, 812c, 812d, and 812f can be retracted in this embodiment. As shown in FIG. 8C, guide block 812d can be engaged to guide one or more workpieces of panel 840c wherein panel 840c has an overall height of 8 feet. Guide blocks 812a, 812b, 812c, 812e, and 812f can be retracted in this embodiment. In alternative embodiments, any guide blocks 812 that are not operable to guide workpieces can remain extended so long as they are not obstructing the assembly process.
[0241] Although six guide blocks 812a - 812f are shown herein, it will be understood that any number of guide blocks 812 can be included in building platform 800. Further, guide blocks 812 can be positioned at any distance from clamping edge 882 to accommodate any height of panel 840.
[0242] In alternative embodiments, there can be one left guide block and one right guide block, each operable to be linearly actuated towards and away from clamping edge882. By actuating the guide blocks, the same guide blocks can be used to guide workpieces of panels of various heights.
[0243] Second workpiece clamping pins 814 can be configured to provide clamping force to a second workpiece 844. Second workpiece clamping pins 814 can also provide clamping force generally to a panel 840c, as shown in FIG. 8C. Second workpiece clamping pins 814 can be located near clamping edge 882 and can be operable to actuate linearly along a direction parallel to an axis extending between retaining edge 880 and clamping edge 882 (also referred to herein as the x-direction). Thus, the location of second workpiece clamping pins 814 can be adjusted. For example, second workpiece clamping pin 814a can be actuated from a first position 814ai to a second position 814a2. Second workpiece clamping pin 814a can be actuated to any position between first position 814ai and second position 814a2. Similarly, second workpiece clamping pin 814b can be actuated to a first position 814bi , to a second position 814b2, or to any position between first position 814bi and second position 814b2. Second workpiece clamping pins 814 can be actuated using pneumatic systems (including pneumatic cylinders), hydraulic systems, electrical systems, or any other suitable actuation system.
[0244] In some embodiments, the second workpiece clamping pins 814 can be monitored as they travel between a first position and a second position using sensors. The sensors may detect the position of the second workpiece clamping pins 814 as they travel between a first position and a second position. For example, the second workpiece clamping pins 814 may incorporate a magnet, and magnetic proximity sensors may be used to approximate the location of the second workpiece clamping pins 814 as they travel.
[0245] In some embodiments, the second workpiece clamping pins 814 can be actuated using actuators which provide position control. In accordance with such an embodiment, the location of the second workpiece clamping pins 814 can be read, allowing a precise determination of where a second workpiece clamping pin 814 is at any given time, and informing whether a second workpiece 844 is correctly positioned relative to other workpieces. For example, if the locations of second workpiece clamping pins 814a and 814b are read and it is determined that one of the second workpiece clampingpins 814 have not advanced forward as far as the other(s), it may be determined that the second workpiece 844 is not positioned correctly, and that potentially second workpiece 844 is not properly sized to allow it to become properly aligned. This may also be useful in preventing damage to a second workpiece 844. For example, if the location of the second workpiece clamping pins 814 are recorded over time and it is determined that one or more second workpiece clamping pins 814 are not advancing despite attempts to, it may be determined that the second workpiece 844 is stuck, and an intervention may be made before the second workpiece 844 becomes damaged. This determination may also be made using other robotic sensing means such as vision.
[0246] While position control is described in reference to the second workpiece clamping pins 814, it should be understood that position control may also be provided for the first workpiece clamping pin 808, retaining elements 804 and 806, and guide blocks 812.
[0247] As described above, the first workpiece clamping pin 808 is operable to actuate in the direction of a first workpiece 842. In some embodiments, the first workpiece clamping pin 808 may also be operable to actuate away from the first workpiece 842, or from a clamped position 808a2 to an unclamped position 808ai. This may be useful, for example, when transitioning the building platform 210 from one wall panel to the next. The first workpiece clamping pin 808 may also be retracted for this purpose.
[0248] The retaining elements 804 and 806 and guide blocks 812 may also be actuated by actuators which provide position control. This may be useful if the dimensions of a wall panel being assembled need to be adjusted dynamically. For example, if a wall panel is initially determined to require a specific set of dimensions but an update to the dimensions of the wall panel is later identified, the retaining elements 804 and 806 and the guide blocks 812 may be configured to travel along the working surface 802 to accommodate the new dimensions. In some embodiments, the retaining elements 804 and 806 may be configured to travel in a direction parallel to the direction of travel of the second workpiece clamping pins 814. In some embodiments, the guide blocks 812 may be configured to travel in a direction perpendicular to the direction of travel of the second workpiece clamping pins 814. In accordance with such embodiments, the retainingelements 804 and 806 and the guide blocks 812 may be operable to accommodate changes in any dimension of the wall panel.
[0249] Position control of the retaining elements 804 and 806 and guide blocks 812 may further provide the benefit of permitting the construction of wall panels of any shape. For example, wall panels in attics are commonly shaped having sloped left and right sides. The positions of retaining elements 804 and 806 and guide blocks 812 may therefore be programmed and controlled to align workpieces in accordance with the desired shape of the wall panel. For example, to achieve a sloped right edge of a wall panel, guide block 812d could be positioned farther left than guide block 812e, positioned farther left than guide block 812f, and retaining element 804 could be positioned farther from the retaining edge 880 than retaining element 806.
[0250] Used together, position control of the first workpiece clamping pin 808, retaining elements 804 and 806, guide blocks 812, and second workpiece clamping pins 814 may be used to force and / or measure the squareness of a panel. For example, once all of the workpieces are in place, each of the components may be actuated inwards to ensure the squareness of a panel. Further, the precise position of each of the components may be measured in order to determine the degree of squareness achieved. For example, if the locations of the first workpiece clamping pin 808 and the guide blocks 812a, 812b, 812c are measured and it is determined that each component is equidistant from the left edge 884, it may be determined that the left side of the wall panel has been squared. Similar measurements and determinations may be made with each of the other sides of the wall panel.
[0251] In one example, the distance between position 814ai and 814bi can be 700 mm, meaning that second workpiece clamping pins 814 have a 700 mm stroke. However, second workpiece clamping pins 814 can have any suitable stroke depending on the sizes of panels to be assembled on building platform 800.
[0252] In some embodiments, second workpiece clamping pins 814 can be actuated simultaneously such that all second workpiece clamping pins 814 maintain a colinear arrangement. The simultaneous action of more than one second workpiececlamping pins 814 can ensure that second workpiece 844 is properly positioned along its length and that panel 840 is squared.
[0253] Although two second workpiece clamping pins 814 are numbered herein, it will be understood that any number of clamping pins 814 can be included in building platform 800. Second workpiece clamping pins 814 can be retracted using retracting assemblies substantially similar to retracting assemblies 854 and 856 and in a manner substantially similar to that described with reference to retaining elements 804 and 806.
[0254] Now referring specifically to FIGS. 8G and 8H, there is shown example steps in a process of clamping a second workpiece 844. Second workpiece 844 can be placed on working surface 802 by assembly robot 204, for example, at position 844i, on the inside of guide block 812 and second workpiece clamping pin 814ai. At position 844i, second workpiece 844 can be at a distance from the rest of panel 840 and offset from its final position 8442. This positioning can be intentional or can be a result of the inherent tolerance of assembly robot 204. Second workpiece clamping pin 814a can actuate towards second workpiece 844 pushing it to position 8442 and clamping second workpiece 844 against panel 840. During this actuation, second workpiece 844 can be guided into place by guide block 812. While clamped or after clamping, a fastening operation can be applied to second workpiece 844.
[0255] Numerous specific details are set forth herein in order to provide a thorough understanding of the exemplary embodiments described herein. However, it will be understood by those of ordinary skill in the art that these embodiments may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the description of the embodiments. Furthermore, this description is not to be considered as limiting the scope of these embodiments in any way, but rather as merely describing the implementation of these various embodiments.
Claims
CLAIMS:1 . A workpiece assembly tool configured as an end effector for an assembly robot, the workpiece assembly tool operable to assemble workpieces, the workpiece assembly tool comprising: a tool frame; a workpiece alignment subassembly comprising: two alignment pins for aligning a workpiece each comprising an elongated body with a longitudinal axis, wherein the elongated body has a distal end and a proximal end, the distal end having a taper, the taper extending from the body to the distal end, decreasing in diameter along the longitudinal axis of the alignment pin; two grippers slidably disposed along a fixture, the two grippers configured to slide across the fixture to adjust a space disposed between the two alignment pins; two actuators positioned in operative engagement with the proximal ends of the two alignment pins, the two actuators coupled to the two grippers, respectively; and one or more sensors coupled to the two grippers, each of the one or more sensors configured to emit a detection beam, wherein the detection beams are directed towards an area around the distal end of the alignment pins.
2. The workpiece assembly tool of claim 1 , wherein the two grippers are configured to move toward or apart from one another synchronously so that the space disposed between the two alignment pins is reduced or expanded relative to an originating position of the two grippers.
3. The workpiece assembly tool of claim 1 or 2, wherein the two grippers are controlled by one or more actuators.
4. The workpiece assembly tool of claim 3, wherein the one or more actuators are servo motors.
5. The workpiece assembly tool of any one of claims 1 to 4, further comprising a workpiece nailing subassembly, the workpiece nailing subassembly comprising: a block member that interacts at an intersection of one or more workpieces, the block member having a longitudinal axis wherein the block member is operable to apply force in a direction of the longitudinal axis of the block member; and a nailing tool.
6. The workpiece assembly tool of claim 5, wherein the block member is mounted to an actuator, the actuator controlling the amount of force exerted by the block member.
7. The workpiece assembly tool of claim 6, wherein the actuator comprises: a pneumatic actuator driving the block member in the direction of the longitudinal axis of the block member; and a pneumatic flow control air fitting controlling the pressure applied by the pneumatic actuator.
8. A workpiece assembly tool configured as an end effector for an assembly robot, the workpiece assembly tool operable to position and assemble workpieces, the workpiece assembly tool comprising: a tool frame; a workpiece gripper subassembly for picking and placing workpieces, the workpiece gripper subassembly comprising: a bottom member extending outward from the tool frame, wherein the bottom member comprises an upper flat surface; at least one gripping area coupled to the upper flat surface of the bottom member;a top member extending outward from the tool frame, the top member configured to actuate in a vertical direction toward and away from the bottom member; at least one adjustable member disposed between the bottom member and the top member and extending outward from the tool frame, an amount of outward extension of the adjustable member being adjustable; and at least one sensor operable to detect the position of the at least one of the adjustable member, the top member, and the bottom member.
9. The workpiece assembly tool of claim 8, wherein the at least one gripping area comprises a plurality of steel teeth.
10. The workpiece assembly tool of claim 8 or 9, further comprising a workpiece nailing subassembly, the workpiece nailing subassembly comprising a nailing tool.11 . The workpiece assembly tool of any one of claims 8 to 10, further comprising a clamp-down tool, wherein the clamp-down tool comprises an actuator coupled to a clampdown block, the actuator configured to regulate a force exerted by the clamp-down block on the one or more workpieces.
12. The workpiece assembly tool of claim 11 , wherein the actuator and clamp-down block are further configured to level the one or more workpieces.
13. A pre-cut cart for storing workpieces comprising: a cart frame; two workpiece plates coupled to the cart frame and angled towards each other at a top edge, each comprising: a workpiece storage surface wherein the workpiece storage surfaces of the two workpiece plates are oriented in opposing directions, the workpiece storage surface comprising:a plurality of workpiece channels, the plurality of workpiece channels oriented along an axis extending from a top edge of the workpiece storage surface to a bottom edge of the workpiece storage surface; and a rotary positioner coupled to the cart frame and configured to rotate the pre-cut cart about a vertical axis.
14. The pre-cut cart of claim 13, wherein the workpiece storage surfaces each have a background color, the background color configured to maximize visual contrast with a workpiece.
15. The pre-cut cart of claim 13 or 14, wherein the workpiece channels are defined by a plurality of channel posts and channel bases, the channel posts defining the workpiece channels widthwise and the channel bases defining the workpiece channels height wise and the channel posts and channel bases together defining dimensions of the plurality of workpiece channels.
16. The pre-cut cart of claim 15, wherein the channel posts and channel bases may be displaced to change the dimensions of the plurality of workpiece channels.
17. The pre-cut cart of claim 15, wherein the channel posts are spring-loaded.
18. A building platform for assembling a panel comprising: a working surface comprising a retaining edge, a clamping edge, a left edge, and a right edge; a plurality of retaining elements disposed proximate to the retaining edge of the working surface; a first workpiece clamping pin disposed proximate to an intersection of the retaining edge and the left edge of the working surface, the first workpiece clamping pin operable to actuate in a direction of a first workpiece wherein the first workpiece clamping pin provides clamping force to the first workpiece;at least one left guide block disposed proximate to an intersection of the clamping edge and the left edge the working surface, the left guide block for guiding a left edge of a second workpiece; at least one right guide block disposed proximate to an intersection of the clamping edge and the right edge of working surface, the right guide block for guiding a right edge of the second workpiece; and a plurality of second workpiece clamping pins disposed proximate to the clamping edge of the working surface, each of the plurality of second workpiece clamping pins operable to actuate linearly along a direction parallel to an axis extending between the retaining edge and the clamping edge of the working surface wherein the plurality of second workpiece clamping pins provide clamping force to the second workpiece.
19. The building platform of claim 18, wherein the at least one right guide block and the at least one left guide block each have a chamfered surface defining a transition from a narrower portion to a wider portion.
20. The building platform of claim 18 or 19, wherein one or more of the group of the plurality of retaining elements, the first workpiece clamping pin, the at least one right guide block, the at least one left guide block, and the plurality of second workpiece clamping pins are retractable.21 . The building platform of any one of claims 18 to 20, wherein one or more actuators are used to actuate the plurality of second workpiece clamping pins, the one or more actuators configured to precisely control and read the positions of the second workpiece clamping pins along the axis.