Roof structures for buildings and the like commonly include one or more trusses spanning between the building walls and to support the roof structure. Such trusses typically include upper and lower chords, and a plurality of webs extending between the chords. The webs provide structural support to reinforce the truss. The chords and webs may be made of a metallic material having any one of a number of cross-sectional shapes, such as a U-shape. The ends of the webs are secured to the upper and lower chords via a secure structural interconnection. One type of construction includes use of connector plates or the like made of a relatively thin metal. The connector plates are positioned at the ends of the webs at the upper and lower chords, and one or more self-drilling screws or the like are driven through the webs, connector plates, and upper and lower chords to securely interconnect the truss members.
The shape and size of trusses may vary substantially from one building to another depending upon on the architectural design of the building. Further, a given building may include several different truss designs to accommodate various roof contours and configurations of the building. Accordingly, roof trusses are often custom designed for a particular building, and the number of trusses having a particular configuration may be relatively small. In some cases, only one truss of a particular configuration may be required.
The assembly of roof trusses has heretofore been quite labor intensive and costly because the trusses have been manually assembled, and the screws interconnecting the truss components have been driven by workers utilizing a power tool.
One aspect of the present invention is an apparatus for assembling trusses including a frame structure having an input side, an output side, and a workspace between the input side and the output side. A powered infeed clamp is mounted to the frame structure adjacent the input side for clamping a truss at the input side of the frame structure. A powered outfeed clamp is mounted to the frame structure adjacent the output side, and the outfeed clamp is configured to clamp a truss at the output side of the frame structure. The apparatus further includes a first gantry having a first elongated support structure spanning the workspace, and a first powered actuator operably coupled to the first gantry for shifting the first gantry in a direction transverse to the first elongated support structure. The apparatus further includes a second gantry having a second elongated support structure spanning the workspace, and a second powered actuator operably coupled to the second gantry for shifting the second gantry in a second direction that is transverse to the second elongated support structure. A first powered screw driving head is movably mounted to the first elongated support structure, and a third powered actuator is operably coupled to the first powered screw driving head. The third powered actuator shifts the first powered screw driving head along the first elongated support structure. The apparatus further includes a second powered screw driving head that is movably mounted to the second elongated support structure, and a fourth powered actuator that is operably coupled to the second powered screw driving head. The fourth powered actuator shifts the second powered screw driving head along the second elongated support structure. The apparatus also includes a controller that is coupled to the first and second powered clamps, the first, second, third, and fourth powered actuators, and the first and second powered screw driving heads. The controller is configured to actuate the powered infeed and outfeed clamps to selectively retain a truss in the apparatus. The controller is also configured to actuate the first, second, third, and fourth powered actuators to shift the first and second powered screw driving heads to a plurality of screw-driving positions. The controller actuates the powered screw driving heads to drive screws at the screw-driving positions.
Another aspect of the present invention is an apparatus for assembling trusses. The apparatus includes a frame structure having an input side and an output side, and at least one clamp connected to the frame structure for clamping a truss that is to be assembled by the apparatus. The apparatus also includes at least one powered screw driving head configured to drive screws into truss members that are to be assembled by the apparatus. At least one powered actuator is operably connected to the frame structure and to the at least one screw driving head. The actuator shifts the at least one screw driving head relative to the clamp upon actuation of the powered actuator. The apparatus further includes a controller operably coupled to the powered actuator and the powered screw driving head. The controller is configured to signal the powered actuator and shift the at least one of the clamp and the powered screw driving head relative to the other of the clamp and the powered screw driving head to a plurality of screw positions at joints of truss members forming a truss to be assembled by the apparatus. The controller actuates the powered screw driving head to drive screws at the screw positions and interconnect truss members of a truss being assembled by the apparatus.
These and other features, advantages, and objects of the present invention will be further understood and appreciated by those skilled in the art by reference to the following specification, claims, and appended drawings.
For purposes of description herein, the terms “upper,” “lower,” “right,” “left,” “rear,” “front,” “vertical,” “horizontal,” and derivatives thereof shall relate to the invention as oriented in
The present application is related to co-pending U.S. patent application Ser. No. ______ (Atty. Docket No. SLU02 P306), entitled PROGRAM AND METHOD FOR LOCATING FASTENERS, the entire contents of which are incorporated by reference.
With reference to
Referring back to
With further reference to
Second gantry 30 is substantially a mirror image of first gantry 20. Second gantry 30 is movably mounted to the frame 3 via second rails 31 and 32 (
A first gantry clamp 84 on first gantry 20 is operably connected to controller 115 to selectively clamp trusses 2. Similarly, a second gantry clamp 96 on second gantry 30 is also connected to controller 115. As discussed in detail below, gantry clamps 84 and 96 selectively clamp trusses 2, and servos 23 and 33 move gantries 20 and 30 to thereby move trusses 2 through apparatus 1.
When first gantry 20 is moved to its closest possible position relative to input side 4 of apparatus 1, gantry 20 defines a forward edge of a work envelope at which screws can be driven into truss 2. Similarly, when second gantry 30 is moved to its closest possible position relative to output side 5 of frame structure 3, gantry 30 defines a rearward edge of the work envelope.
With further reference to
The second gantry 30 (
Thus, actuation of servo 23 of first gantry 20 simultaneously moves powered screw driving heads 45 and 55 in an X direction, and actuation of servo 58 moves the screw driving heads 45 and 55 in the Y direction. Similarly, actuation of servo 33 of second gantry 30 moves the powered screw driving heads 70 and 71 in the X direction, and the actuation of servo 74 moves the powered screw driving heads 70 and 71 in the Y direction.
With further reference to
With reference to
With reference back to
A controller 115 (
During operation, an operator selects a cycle (data file) for a particular truss 2 that includes the proper screw pattern for the truss 2 and an optimized screw driving sequence. One or more such cycles may be stored in controller 115, or stored in other media that can be loaded into controller 115. In this way, apparatus 1 can be utilized to assemble trusses having different sizes, numbers, and orientations of chords and webs, or other variables. Prior to loading trusses 2 onto input supports 8 (
A truss 2 is manually positioned on input support 8 (
In the illustrated example, the infeed clamp 10 is first actuated, thereby clamping truss 2 in a stationary position. The operator then “jogs” the first gantry 20 utilizing a “jog” button on input panel 117 of controller 115 to thereby move the first gantry 20 towards input side 4 of apparatus 1 in small steps or increments by the operator. As discussed above, a laser 85 is mounted to first gantry 20. As the gantry 20 is “jogged” towards the input side 4 of apparatus, the beam from laser 85 eventually aligns with the front edge 120 or other feature having a known location on truss 2. If the operator initially moves the truss 2 too far into apparatus 1, such that laser 85 illuminates a portion of truss 2 that is spaced inwardly from front edge 120 (or other locating feature), the operator may then jog gantry 20 back towards output side 5 of apparatus 1 until laser 85 is incident on front edge 120 or other locating feature of truss 2. In this way, the truss 2 can be positioned relative to apparatus 1, such that the fasteners can be installed at the proper locations of truss 2. Also, other sensors and/or switches or the like, other than laser 85, may be utilized to detect the position of a truss 2 at the input side 4 of frame structure 3. Such sensors may be operably coupled to controller 115 to provide a signal if a truss is present and/or signal the position of a truss 2 to controller 115.
After the operator has positioned the first gantry 20 and truss 2 with light from laser 85 just contacting the front edge 120 of truss 2, the operator actuates a “cycle start” program in controller 115. Controller 115 then generates a signal to the first gantry clamp 84 on gantry 20 to cause the gantry clamp 84 to clamp onto truss 2. Controller 115 then generates a signal to retract (unclamp) infeed clamp 10, and then moves first gantry 20 (and truss 2) towards output side 5 to a first index position via actuation of electric motor 23. As discussed in more detail below in connection with
Controller 115 then generates a series of signals to the first gantry 20, thereby causing the first gantry 20 to drive the screws into the “reserve” screw locations adjacent front edge 120 of truss 2. The screw heads 45 and 55 of first gantry 20 move to the proper screw locations in the X-Y plane upon actuation of first servo 23 to move gantry 20 in the X direction and actuation of the servo 58 to shift the screw heads 45 and 55 in the Y direction along gantry 20. At each screw location, the screw heads 45 and 55 simultaneously drive screws into the upper and lower sides of the truss 2.
After gantry 20 drives the screws at the reserve locations, controller 115 moves gantry 20 back to its home position adjacent input side 4 of apparatus 1. Controller 115 then causes gantries 20 and 30 to begin driving fasteners at the fastener locations within the first area defined by the first index line. As described in more detail below, gantries 20 and 30 start at opposite sides of the area of truss 2 within the work envelope, and move towards one another according to the control logic described below.
After all of the screws in a particular work area of truss 2 are driven, the first gantry 20 is moved to its home position at the forward edge of the work envelope at the input side 4 of apparatus 1, and the first clamp 84 of gantry 20 is clamped onto the truss 2. As first gantry 20 is moving to its home position, the second gantry 30 moves to an intermediate position adjacent the position where the last screw was driven by gantry 20. In general, the intermediate position of second gantry 30 will be in the vicinity of the center of the work envelope of apparatus 1, midway between the input side 4 and output side 5 of apparatus 1. In this position, rollers 94 and 95 of second gantry 30 support the portion of truss 2 at the center of the work envelope with clamp 96 of second gantry 30 in the restricted position. Controller 115 then moves first gantry 20 towards second gantry 30 while second gantry 30 remains stationary. Once first gantry 20 is directly adjacent second gantry 30, controller 115 causes second gantry 30 to move towards output side 5 of apparatus 1. Thus, first gantry 20 and second gantry 30 move together towards output side 5 of apparatus 1. Once gantry 30 reaches a position directly adjacent output side 5, controller 115 stops gantries 20 and 30, and actuates stationary clamps 10 and 11. Controller 115 then retracts clamp 84 of first gantry 20, and moves first gantry 20 back to its home position directly adjacent input side 4 of apparatus 1.
Controller 115 then actuates the first servo 23 to move gantry 20, and servo 58 to move the powered screw driving heads 45 and 55 of first gantry 20 to the screw positions for each of the joints in the next work area of truss 2, and the controller 115 also actuates the second servo 33 to move the second gantry 30 in the X direction, and also actuates the servo 74 to shift the powered screw driving heads 70 and 71 of second gantry 30 in the Y direction to the various screw positions in the area of truss 2 within the work area of truss 2. For each area of truss 2, the first gantry 20 and second gantry 30 drive the fasteners in a sequence that generally causes the gantries 20 and 30 to move towards one another. Also, as described in more detail below, although each of the gantries 20 and 30 initially drive screws according to a predefined sequence, the control logic utilized by controller 115 accounts for deviations in the actual sequence of the installation of the screws due to variations in the number of alternate fasteners that may be driven at a particular joint due to fasteners not meeting/satisfying the predefined fastener installation parameters/criteria.
The process of moving or indexing the truss 2, followed by driving screws into the truss is repeated for each area of truss 2, until the last area of truss 2 adjacent rear edge 124 (
As discussed above, during movement (“indexing”) of truss 2, clamp 84 of first gantry 20 is clamped onto truss 2, and gantries 20 and 30 move to the output side 5 of apparatus 1. When the trailing end portion 114 (
As the apparatus 1 drives the screws at the screw locations, apparatus 1 monitors the operation of the powered screw driving heads 45, 46, 70, and 71, to ensure that the screws are installed properly. The powered screw driving heads 45, 55, 70, and 71 include sensors that measure various fastener installation parameters as the screws are driven into truss 2. These parameters may include the torque utilized to drive a sheet metal screw into a truss 2. In a preferred embodiment, the screws comprise self-drilling sheet metal screws that do not require drilling of holes and the like. The powered screw driving heads 45, 55, 70, and 71, also include one or more sensors that determine the angular positions of the screws as they are driven into a truss 2 and/or the rotational rate (r.p.m.) of the screw being driven, and/or the depth of the screw is driven. The side walls of the truss components such as the chords, web members, and plates may have various thicknesses, and the number of layers of material may also vary. The amount of torque required to drive a screw having a specific size/configuration through the layers of metal can be measured empirically or otherwise determined. Similarly, other expected screw installation parameters can also be determined. The method/program of co-pending U.S. patent application Ser. No. ______ (Atty. Docket No. SLU02 P306) generates an identifier (e.g., a number that is assigned to each fastener location). Controller 115 is programmed to retrieve a set of expected fastener installation parameters for each identifier. For example, all of the fastener locations at a given truss joint may have a number “5” assigned to them. In operation, controller 115 retrieves a group of expected fastener installation parameters associated with the number “5.” These parameters may include the expected torque for all screws at a given truss, expected r.p.m., expected depth, and seating angle (the additional angle of rotation applied to the screw after the measured torque “spikes” upwardly upon contact of the screw head with the surface of the material the screw is being driven into). The expected fastener installation parameters such as the required torque data that is associated with each joint of truss 2 may be determined based on the number of layers of material the screw must go through at each screw location, and the thickness of each layer. The expected fastener installation parameters required parameters required for each screw location can be utilized by controller 115 to determine if a screw has been properly positioned or installed. For example, if the torque required to drive a screw at a particular location falls outside the expected range, it can be inferred that the screw was not properly installed due to screw being out of position or other such problem. Controller 115 may be programmed to drive additional (i.e. alternate) screws beyond the minimum number required for a particular joint if the measured screw parameters for a given screw vary more than the predetermined amount from the expected parameter. For example, if the torque and/or depth for a particular fastener as measured by one of the powered heads 45, 46, 70, 71 falls outside of an acceptable/expected range, the controller 115 determines that the fastener was not properly installed, and drives additional fasteners until the minimum number of fasteners for a specific joint is installed. In this way, the apparatus 1 ensures that each of the joints includes at least the minimum number of screws required.
In the event the controller 115 determines that all possible alternate screw driving locations have been utilized, but the minimum number of screws for a particular joint does not meet the pass/fail criteria, the controller notifies the operator via a display screen. The operator then manually marks the joint utilizing spray paint or the like, and additional screws are then driven manually to ensure the joint has the required number of properly installed screws. It will be understood that alternate marking techniques for such joints may be utilized. Also, the screw driving heads may include a marking device such as paint sprayer to automatically mark joints that do not meet the pass/fail criteria.
The program/method described in detail in co-pending U.S. patent application Ser. No. ______ (Atty. Docket No. SLU02 P306) divides the trusses into zones, and assigns each of the joints to a zone. The output of this program/method is in the form of a data file 121 loaded into controller 115.
With reference back to
Truss 2 includes chords 100 and 101, and a plurality of web members 135-143 extending between chords 100 and 101 to from a plurality of joints 145-154.
In the illustrated example. All of the fastener locations at joints 145 and 146 are reserve locations that are driven by first gantry 20 as described above. After the fasteners 112 at joints 145 and 146 are driven by first gantry 20, the truss assembly machine 1 advances the truss 2 as described above, and the gantries 20 and 30, drive fasteners in joints 147 and 148 in first index area 160 between edge 120 of truss 2 and a first index line 161. The distance between edge 120 and first index line 161 is no more than the work envelope (i.e., the maximum possible area that can be worked on by the gantries 20 and 30 without moving the truss 2). When generating data file 121, the method/program of the P306 application generates additional index lines until the entire truss 2 is divided into index areas. In the illustrated example, a second index line 163 is generated to define a second index area 162 between index lines 161 and 163, and a third index area 164 between index line 163 and edge 124 of truss 2. The width of second index area 162 is preferably equal to the length of the work envelope of apparatus 1. If a particular truss is longer than the truss 2 of
The program of the P306 application also generates a plurality of zone lines Z1, Z2, and Z3. The zone lines Z1, Z2, and Z3, extend between the reserve lines and the index lines, and are orthogonal relative to the reserve and index lines. In the illustrated example, zone line Z1 extends between reserve line R1 and first index line 161, and zone line Z2 extends between index lines 161 and 163, and zone line Z3 extends between index line 163 and reserve line R2. The zone lines Z1, Z2, and Z3, divide the index areas 160, 162, and 164, into zones 160A and 160B, 162A and 162B, 164A and 164B, etc.
The method/program thereby generates output file 121 (
The primary fastener locations represent the screws that are always driven at a joint. The number of primary fasteners for each joint is equal to the minimum number of fasteners required for a specific joint as determined by the engineering software utilized to generate the joint strength requirements. This engineering software is commercially available, and it will not, therefore, be described in detail herein. The alternate fastener locations “s” represent locations at a joint that are available for driving additional screws if one or more of the primary fasteners are not driven properly according to the fastener installation parameters for the fastener location.
Second column 126 of file 121 lists the X coordinates for each fastener, and third column 127 lists the Y coordinate for each fastener. A fourth column 128 lists the “fastener value” for each fastener. The fastener value is a number assigned to each fastener location based upon the thicknesses of the chord, web, and plate (if present) the fastener is to be driven through at that fastener location. Controller 115 is programmed to retrieve expected fastener data from a look up table (not shown) based on the fastener value. This expected fastener data is compared to measured fastener variables such as the applied torque values by controller 115 as the fastener is being driven to determine if the fastener is “good” (i.e. it was properly driven through all of the plates). If a fastener is not “good”, alternate fasteners are driven at the joint at alternate fastener locations S until the minimum number of “good” fasteners are driven at the joint.
A fifth column 129 of file 121 lists the plate number, a sixth column 130 lists the joint number, and the seventh column 131 lists the zone number corresponding to the zones 160A, 160B, 162A, 162B, etc. in
If two adjacent joints both have the same plate, they will be assigned the same plate number. Controller 115 is programmed such that all joints having the same plate number are grouped together, and only one of the gantries 20, 30 will be assigned to all joints having the same plate number. This avoids the problem of physical interference between the two gantries 20, 30 that would otherwise occur if both gantries 20 and 30 attempted to drive fasteners in closely adjacent joints having the same plate number. It will be understood that two adjacent joints may be assigned the same “plate number”, even if the joints to not actually have a plate that is common (o both joints; the “plate number” represents a group of joints that are in close proximity such that only a single gantry 20 or 30 can drive fasteners in the group of joints.
Referring again to
The truss assembly machine 1 is programmed to utilize the output file 121 to assemble the truss 2 in an efficient manner. As discussed above, gantries 20 and 30 each have a “home” position. Gantry 20's home is the X position with the highest numerical value in the index area 160, 162, 164, for the index area in the work envelope of apparatus 1, and the second gantry 30's home is the lowest X position in the index area in the work envelope.
The controller 115 first determines which zone of the index area in the work envelope has the greatest number of fasteners. The first gantry 20 then starts driving fasteners at the joint closest to its home position and having the lowest Y value, and the fasteners are driven in the sequence previously determined by the program/method of the P306 application. The second gantry 30 also starts driving fasteners at the joint closest to its home position having the lowest Y value, in the sequence previously determined by the program/method of the P306 application.
Because the powered screw-driving heads 45, 46 and 70, 71 on the gantries 20 and 30, respectively, would physically interfere with one another if they were to attempt to simultaneously drive fasteners at the same joint, the controller 115 assigns a joint to a selected one of the gantries 20 and 30 at the time the next joint to be worked on is determined by controller 115. Once a joint is assigned to one of the gantries 20 and 30 by controller 115, the controller 115 that joint is no longer “available,” and will not select a joint for the other of the gantries 20 and 30 that is already assigned. Controller 115 instead skips to the next “available” joint (an available joint is a joint that has not already been assigned). The next joint is selected by controller 115 to be the closest available joint to the home position for the other of the gantries 20 and 30, and having the lowest Y value. For the first gantry 20, this is the next available joint that is closest to the input side 4 of apparatus 1 having the lowest Y value. For the second gantry 30, this is the next available joint that is closest to the output side 5 of apparatus 1 with the lowest Y value. If no joints in the zone are available for a gantry that has completed a joint because all fasteners have been driven and the last joint in the zone has been assigned, the controller 115 will then cause the gantry to go to the next zone within the index area being worked on. The gantry will then proceed within the next zone according to the rules set forth above. If all zones within an index area have already been completed (i.e., all fasteners driven), the controller 115 will cause the gantry to wait (i.e., not move) until the other gantry has completed the last joint in the index area. Controller 115 then indexes the truss to move the next index area into the work envelope of apparatus 1, and the gantries 20 and 30 again proceed according to the rules set forth above until all fasteners are driven in the next index area.
Because the gantries 20 and 30 start on opposite sides of the work envelope at their respective home positions and then move towards one another, interference between the gantries 20 and 30 is minimized. Also, the rules by which the controller 115 select joints for the gantries 20 and 30 minimizes the movement of the gantries 20 and 30, and also minimizes time spent by one gantry waiting for the other to complete a joint and move out of the way. Because the total number of fasteners that need to be driven at each joint will vary depending upon how many alternate fasteners are required, it is not normally possible to predict in advance exactly how much time will be required to drive all of the fasteners at a given joint. The method just described by which the controller 115 selects joints and controls gantries 20 and 30 permits the truss assembly machine 1 to adapt to different conditions without unduly hurting efficiency.
The truss assembly apparatus 1 of the present invention substantially reduces the amount of manual labor required to assemble trusses. Further, the apparatus 1 ensures that the proper number of screws are utilized for a given truss design and that the screws are positioned within allowable tolerances. The apparatus 1 can be preprogrammed to accommodate a large number of trusses having different configurations.
In the foregoing description, it will be readily appreciated by those skilled in the art that modifications may be made to the invention without departing from the concepts disclosed herein. Such modifications are to be considered as included in the following claims, unless these claims by their language expressly state otherwise.
This application claims the benefit of U.S. Provisional Application No. 60/876,378, filed on Dec. 21, 2006, entitled TRUSS ASSEMBLY PROGRAM AND METHOD, the entire contents of which are incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60876378 | Dec 2006 | US |