The present disclosure generally relates to marking construction trade information on a construction surface. More particularly, the present disclosure is related to using a mobile printing robot to print construction information on a construction surface while printing a building layout.
Building construction requires the coordination of many different construction trades to bring together a building with walls, plumbing, electrical, HVAC, etc. Each of these construction trades typically performs layout on each floor of the building to mark where on the floor they will be installing materials before construction begins. As illustrated in the flowchart of
The CAD file typically visually distinguishes between lines for different building purposes by using different visual styles (e.g., line colors) and a line naming system. The example of
The conventional physical process of doing construction of a building using building layout, based on the CAD files, typically begins with surveyors, who use total stations or other surveying equipment to mark control points at very specific locations on the floor based on the CAD files. These points are the ground truth for everything to be laid out on the floor and are typically etched in or otherwise permanently marked on the floor. Using these control points, control lines are established, which typically run the length of a floor and are used as a source of ground truth for measuring and locating all features in the building.
Layout is then carried out by each trade using construction drawings to determine the correct locations for materials to be installed. For lines that need to be marked on the floor, typically a tape measure is used to determine the correct location and then a chalk covered string is snapped on the ground to make the markings. For locations that require points, a total station is often used to guide a construction worker to the correct points, which are then marked on the ground with a marker.
Since the markings primarily consist of lines (points are usually marked by two intersecting lines), it can be difficult to tell different features apart. The ground may include markings for bottom track, drywall finishing layer, soffits, millwork, plumbing and HVAC runs, hangers for plumbing and HVAC, electrical runs, low voltage cabling, fixtures, fire sprinklers, and more. In addition, when a line can't be marked in the correct location because, for example a column, cover, or other obstacle is in the way, lines are put down with an offset from the intended location. For example, the line may be offset 1 ft to the north, to speed up the layout process. The tradesman must then be careful to interpret the line correctly and build features in the correct location.
To help separate one feature from another, colors are typically used. Each trade or subcontractor is assigned one color and makes all their markings in that color. In addition, a separate color is often used for control lines to distinguish them from other lines on the site. This can reduce the confusion, but the number of colors that can easily be distinguished in the dusty construction environment is typically limited to a few. To further help, some features are also labeled by hand, but this is a time consuming task that is avoided unless necessary.
The on-site use of different colors for different trades doesn't have to match the color key style of the original CAD drawings. The fact that the CAD drawings visually distinguish different types of lines aids construction workers in physically marking lines by color using different colored chalks and strings.
The conventional approach of using colored chalk and string to manually form lines for a particular trade has many limitations in terms of the amount of useful information that can be represented by a few different colors of chalk without overwhelming construction crews. And only a limited amount of additional information can be added via hand-drawn labels without creating a burden on construction crews to implement the labels and not make mistakes.
The present disclosure relates to systems and methods for using a mobile robot printing system to print a building layout along with additional line type attribute information to print information to aid construction crews.
An example of a mobile printing robot system to print a building layout having a plurality of different layout line types with regards to their use by construction crews includes a mobile robot. The mobile robot includes a controller, a drive system, and a printing system. The system includes at least one computing device to generate line type attribute information printed inline with one or more lines of the building layout in a single pass of printing by the mobile printing robot.
It should be understood, however, that this list of features and advantages is not all-inclusive and many additional features and advantages are contemplated and fall within the scope of the present disclosure. Moreover, it should be understood that the language used in the present disclosure has been principally selected for readability and instructional purposes, and not to limit the scope of the subject matter disclosed herein.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
The present disclosure is illustrated by way of example, and not by way of limitation in the figures of the accompanying drawings in which like reference numerals are used to refer to similar elements.
The present disclosure describes systems and methods for using a mobile robot to print construction trade information on a construction surface related to a building layout. The construction trade information may be represented as line type style attribute information represented in alphanumeric text (e.g., “control 10”), optionally include directional information (e.g., “control west”), have offset information such as an offset distance and direction (e.g., “Offset 1 foot” and a directional arrow). The line type attribute information may, for example, identify a line as being associated with a particular type of construction feature, provide directional information, describe offsets, and may also potentially encode other types of information (e.g., number of sheets of sheetrock to be used, materials specification, or a preferred construction detail to aid a construction trade to do their work).
The line type attribute information may be encoded into a line as dots or dashes; as variations in color along a line, or by other techniques. Directional information (e.g., North-South or East-West original information may also be represented by letters, numbers, etc. Variations in line color (e.g., variations in total line color or variations in line color along a line) are also possible.
The line type attribute information may identify the general type of layout line (e.g., a control line) as well as including attributes describing other aspects of the line (e.g., its direction). Thus a single line may have several different attributes associated with it that are printed to help construction crews for particular building trades do their work.
The line type attribute information may be printed inline in a single pass of printing. That is, it may be printed within the width of printing head(s) of a mobile printing robot as a layout line is printed. The line type information can be printed with additional line type attributes printed in gaps in individual layout lines or, if the printhead(s) is sufficiently wide, to the side of a layout line. Printing the line type information inline with a line of a layout avoids, for example, a mobile printing robot having to do a second pass of printing to print line type attribute information.
A mobile printing robot system may include a mobile robot with a printing system to print layout lines based on CAD data files of the layout to be printed. These data files may, for example, be derived from CAD construction files.
An exemplary mobile printing robot system is illustrated in
The mobile robot 204 may also communicate with a tablet user interface 214 of a tablet computing device of a user. In some implementations, the tablet computer device is used by an operator of the mobile print robot to make selections about line type attributes for a line, using software to implement inline line type attribute selection module 230. This may, in some cases, include software running in the tablet computing device automatically identifying default line type attributes from the CAD files. It may also include the operator making edits in the field via a user interface of the tablet computing device. For example, an operator may in some implementations add an offset to a layout line when there is an obstacle, along with offset information. The corresponding line to be printed by the mobile printing robot is then automatically adjusted and offset information added to the attributes automatically. For example, if the operator sees that a layout line needs to be shifted by 2 feet to avoid an obstacle, they can enter an offset into a user interface of 2 feet and the selected layout line is shifted 2 feet in the layout the mobile printing robot prints. Offset information may also be automatically added to the line to be printed by the mobile printing robot, such as the word “offset” and an offset distance and directional information.
However, some or all of the functionality of line type attribute selection module 230 could be performed in the mobile printing robot or in some other computing device (e.g., an external server). That is, while the tablet computing device may be used to perform various processes to select line type attributes, in the most general case the mobile robot system may use other computing devices in the overall system to perform similar functions. For example, the mobile robot could perform some or all of these function with the tablet computing device acting as a “thin client.” Alternatively a separate server computing device could implement the functionality with the tablet computing device acting as a thin client.
Referring to
The mobile robot 204 supports inline line type information insertion, as illustrated in
The mobile robot may in some implementations include an image generation module 380 to generate images, such as images of lines, line segments, text, symbols, etc. An image buffer, such as a rolling image buffer, may be provided to support alternating between different images while printing a layout. A line symbol/label library 376 may be provided to support printing line type attribute information.
Thus, there are different potential methods of operation in regards to processing CAD files and generating a sequence of objects to prints. In principle, the mobile robot could receive the CAD files, process them, and convert them into a sequence of objects to be printed by the mobile printing robot 204. A controller that interfaces with mobile robot could do this task on the behalf of the mobile robot.
In some implementations, the tablet computing device reads the CAD files, processes the CAD files, and turns the CAD files into a sequence of objects to be printed by the mobile printing robot 204. And, of course, in theory (although less likely in practice), there could be a division of labor, such as an external server-controller performing some tasks for reading CAD files and generating a sequence of objects to be printed and a tablet computing device with a user interface 214 performing other tasks.
A high level flowchart of a method is illustrated in
In some implementations, the position(s) and frequency of gaps or symbols within a line is selected. Some portions of a line are more critical than others for construction crews to do alignment. For example, ends of lines and corners are typically more critical. In the process of building construction, accurate position information for a line is important. There can be short gaps or breaks in the line. But certain portions of the line are more critical than others for construction crews. For example, it's particularly important construction crews have accurate information regarding the ends of lines and corners. Rules can be included to automatically make adjustments to ensure that line ends/corner are printed with lines, i.e., ensure that line type information is not located on critical portions of a line. It's also important that printed lines provide sufficient lengths of line segments for alignment purposes. These considerations can be converted into rules determining the position and frequency of gaps/symbols within a line.
The line attribute information may be encoded in different ways. A segment of an original layout line modified to represent line attribute may be considered to be a label. For example, printing the word “control” in a gap in a layout line can be thought of as a label. Encoding line attribute information through dashed sections can also be considered to be a label. It's desirable to include at least one label identifying line type attribution formation for a line. But the position of the labels should not interfere with construction crews accurately reading critical line end points and corners. For a comparative short line, a single label may be sufficient. For a longer line, more than one label may be desirable to make it easy for construction crews to read the labels. A user may use a user interface to make adjustment to the position(s) and frequency of gaps/symbols/labels associated with a line. In block 720, the mobile robot is used to print layout lines with inline types information in a single pass.
The soffit line is created with a line style applied to the entire soffit layer and any line in that layer printed on the site will have the word soffit embedded in it, making it much easier to tell what these lines are actually for. For the control lines, a similar technique is used, except that in this case the label of the control lines is extracted from CAD and added to the text of the line style. In this case every individual control line on the site has a unique label identifying exactly which control line from the CAD it is. In the example shown in the
Many variations on the above-described examples are possible. Embodiments of this disclosure describes systems and methods of automatically labeling lines on the construction site by embedding labels into the line styles printed by the robot. Or perhaps more accurately, the printing process is automatic in terms of printing line style attribute information (e.g., symbols, text, numbers, etc.) into lines of a layout, although aspects of converting the CAD files into a sequence of objects to be printed may (in some implementations) employ the assistance of an external controller or the aid of an operator of a computing device. For example, in some implementations, an operator selects a layer of the CAD and assigns a label to that layer. Once that assignment is done, all the lines of the layer will be printed in the line style with that label. The amount of operator time to perform such a task is relatively minor. However, full automation may be possible using algorithms or by using machine learning techniques to train a machine learning system to make similar types of decisions.
The embedded labels may, for example, describe a line style for construction crews. For example, the construction line style may identify a line as a soffit line, a control line, etc. More generally, the line style associated with embedded labels may include any type of information to aid a construction crew to understand the purpose or work to be performed for a line without the construction crew having to consult the CAD drawings.
This embedding of labels into the lines printed by the robot can be done by the mobile robot or associated controllers and interfaces. For example, a mobile robot may have a controller and a printing system to print a construction layout. An algorithm can be executed by the controller (or the tablet computing device used by the operator, or other user interface) and the printing system to read line/layer attribute information from the original CAD file and automatically generate labels that are printed during a line printing pass. For example, the original CAD files may include line style/color key information and other line attributes, such as layer level.
The labels may include, for example, text, numbers, symbols, or special characters. The labels may, for example, be interspersed along a line such that they can be printed while a line is being printed. The line type information may also be visually communicated in other ways, such as by using dashed lines, dashes/dots, etc. Also, if a color printhead is used, then variation in color may be used in different portions of a line or along a line of a particular line type.
While the mobile printing robot or associated interfaces may determine labels to be added (and any other optional line variations) from the CAD files, more generally, an intermediary computing device could be used, such as an intermediate computing device or server to perform some or all of the function associated with taking CAD files, reading attributes associated with a line, and generating labels to be added to lines and/or making changes to the presentation of lines, such as shifting the positions of lines.
It will be understood that many variations are contemplated regarding how the symbols are generated. This may include various combinations of the mobile printing robot and the tablet computing device automatically generating labels from the CAD layout files (or files based on the CAD files), although more generally it will be understood that 1) the mobile robot could perform all steps; 2) while complete automation is possible, the use of operator inputs to aid in making decisions about how to generate labels from CAD files is a viable and cost-effective approach; and 3) some or all of the steps in converting the CAD files to a sequence of objects to be printed could also be performed by additional controller or interface (not shown in the figures).
In some embodiments, the labels can be automatically (or with operator assistance) generated depending on the layer the line was in within the CAD file (e.g., from a layer list). The layer name or line type or style in CAD are examples of CAD information that can be used to determine labels to be drawn. In another embodiment, more generally a label can be derived from other characteristics of the CAD file, such as any line attribute in the CAD files from which an inference can be made regarding how the corresponding line would be used by construction crews. This could, for example, include information derived from directional aspects of lines in CAD files. For example, while some types of directional information in a CAD file may be fairly direct, other types of directional information may be inferred, such as inferring whether printed text will end up inside a wall as construction proceeds. Thus, in the most general case, information from the CAD files can be derived from things like layer levels, layer line type naming conventions, etc. but also include any other information derivable from analyzing how the CAD files would be used during construction.
As some examples, a set of rules or an algorithm may be created to 1) analyze attributes of the CAD files) and 2) use the attributes to determine labels to be drawn along a line and the placement of labels.
The labels may be generated based on actions taken on that line, such as moving the line so it can be printed as an offset line. In yet other embodiments, the line style is asymmetric and used to indicate a directional aspect of the line in CAD, for example offset lines may indicate which direction the lines are shifted. In another similar embodiment, an asymmetrical line style is used to ensure the printed text will end up inside a wall where it will be covered and not visible once construction is complete. In some of these embodiments the side of the line the label is on (left vs right) will also depend on the direction the robot is traveling when the line is being printed. For example, if the robot is printing while traveling north and the offset line needs to be shifted east, the text would be added to the left side of the line. However, if the robot is traveling south, the same text would be printed on the right side of the line to indicate the same offset direction. This is true of any asymmetrical label, text, or other feature of the line.
More generally, a wide variety of options may be supported to visually distinguish (or otherwise add useful information) to a layout line for use by construction crews. And the insertion of labels can be implemented while the mobile robot is printing a layout. That is, it can be performed in a single pass of printing to print labels for lines and/or otherwise visually distinguish a line. For example, along the length of a line, labels can be interspersed.
The position, size, and frequency with which labels are interspersed along a line can be selected to 1) not interfere with the accuracy with which construction crews can use the line; and 2) be sized, positioned, and be frequent enough to be easy to read and interpret. For example, on a very long line, more than one label could be included. However, on a shorter line, at least one label may be provided.
In some implementations, the mobile printing robot includes an inkjet printer having a plurality of nozzles that are capable of printing images on the construction surface of a given width. In one example the printer used by the mobile robot is 600 DPI and has a ½ inch width, for a total of 300 nozzles. In another example, the printer is 3 inches wide with a total of 500 nozzles. Or in another example, the printhead may be 1.5 inches wide with 20 nozzles. These printers are capable of printing any image including text and lines or symbols up to the width of the print head.
One aspect is that labels can be added to lines and printed in a single printing pass. In prior approaches, the robot would use the printer on the mobile robot to print the lines needed for construction in a printing pass. Some limited text to label objects on the construction site could, in principal, be printed in a separate pass. However, in this conventional operating mode all of the lines and labels must be created as separate objects in CAD and then the objects are printed in separate passes by the printing robot. This is time consuming both in the amount of CAD work, and in terms of robot printing time. As a result, in prior mobile printing robot systems the lines weren't extensively labelled because of the additional CAD work required and the requirement to perform a second pass of printing.
In some implementations, the printing system of the mobile robot includes a rolling image buffer. A rolling image buffer may, for example, contain an image of a line followed by text label, causing the printer to switch between printing a line and printing a label within one image and requiring minimal computing resources. Adding the capability on the robot to print images with a rolling buffer, such that as the image completes printing a new copy of the same image is automatically appended, can allow an image consisting of both one or more lines combined with text to be used as a “line style” that can be printed on the ground.
Moreover, many different lines styles can be supported. Thus, for example, a mobile robot can implement, if desired, a large number of different types of line styles. As one example, text in labels may be written in different preferred language (e.g., English text, Spanish text, bilingual text), etc. Individual lines may also include breaks (e.g., labels plus visually distinctive line patterns in some sections). Many possible variations are thus possible in the manner with which a printing line provides line type information and/or other information to aid construction crews. Additionally the line itself may consist of text. For example, a black line with white text (or areas with no ink that form the text). This gives the appearance of a line from a distance, but contains text when viewed up close.
One example of a “line style” that includes this feature is shown in
Both the tasks of creating CAD and printing are simplified by using these “line styles” and selecting the text for the “line style” based on either a layer name or line type or style in CAD. For example, all lines that represent soffits can be selected for printing from CAD by selecting the soffit layer and be assigned a printing “line style” that contains the word “Soffit” along with the line. When this is printed on the ground it is then very clear what these lines represent. This is a way to reduce confusion and save crew time in referring back to drawings to interpret the meaning of the lines on the ground. Using this method, the text is created without any extensive CAD work time, or extra robot printing time.
Offset lines may be created for a variety of reasons. The line may be too close to the edge of the building to be safely accessed in the conditions present when the layout crew is on site. The line may be in a location that has a temporary covering over it for safety or other reasons, or the line may simply be inaccessible because of materials or construction equipment present on the site. In any case, the line can be laid out with an offset, or displaced by a fixed distance. In this case it is critical that the line be translated to the correct location and the feature be built in the correct location when it comes time to construct the feature.
Offset lines may be printed with the word “offset” embedded into the “line style”. However with offset lines another piece of information is critical to building correctly. The construction crew needs to know in which direction the offset line needs to be translated in addition to the distance it needs to be moved.
This asymmetric style can also be applied to other lines on the construction site. For example the finishing drywall lines could also contain the text “finish” to make the purpose of the lines clear. However, often when the building is to have a bare concrete floor, it is undesirable to mark any lines outside of the drywall layer. Here an asymmetric line style can be used where the text is written on the wall side of the line. In other locations, it may be critical that the line is visible at all locations and is not interrupted anywhere by text. For these types of lines it may also be beneficial to have a “line style” with the text next to rather than in line with the line. This is important when accurate corners need to be represented.
Often precise corners are desired in the layout, so the end points of walls and other features are precisely defined. In this case, the printer may contain two different images used interchangeably. The printer would print an image of a line immediately followed by an image of text and then repeat the pattern. The net effect is the same, a “line style” containing long portions of straight lines interrupted briefly with strings of text. By using two separate images, however, the system can be programmed to avoid the image containing text within a certain distance of any intersections of lines. The system would therefore alternate lines and text, but insert an extra line anywhere precision is needed due to intersections or other important features. These lines look identical to the labeled lines, but having a lack of any labels at locations where lines intersect on the ground.
In the above description, for purposes of explanation, numerous specific details were set forth. It will be apparent, however, that the disclosed technologies can be practiced without any given subset of these specific details. In other instances, structures and devices are shown in block diagram form. For example, the disclosed technologies are described in some implementations above with reference to user interfaces and particular hardware.
Reference in the specification to “one embodiment”, “some embodiments” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least some embodiments of the disclosed technologies. The appearances of the phrase “in some embodiments” in various places in the specification are not necessarily all referring to the same embodiment.
Some portions of the detailed descriptions above were presented in terms of processes and symbolic representations of operations on data bits within a computer memory. A process can generally be considered a self-consistent sequence of steps leading to a result. The steps may involve physical manipulations of physical quantities. These quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. These signals may be referred to as being in the form of bits, values, elements, symbols, characters, terms, numbers, or the like.
These and similar terms can be associated with the appropriate physical quantities and can be considered labels applied to these quantities. Unless specifically stated otherwise as apparent from the prior discussion, it is appreciated that throughout the description, discussions utilizing terms, for example, “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, may refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The disclosed technologies may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may include a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer.
The disclosed technologies can take the form of an entirely hardware implementation, an entirely software implementation or an implementation containing both software and hardware elements. In some implementations, the technology is implemented in software, which includes, but is not limited to, firmware, resident software, microcode, etc.
Furthermore, the disclosed technologies can take the form of a computer program product accessible from a non-transitory computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer-readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
A computing system or data processing system suitable for storing and/or executing program code will include at least one processor (e.g., a hardware processor) coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
Input/output or I/O devices (including, but not limited to, keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers.
Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modems and Ethernet cards are just a few of the currently available types of network adapters.
Finally, the processes and displays presented herein may not be inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the disclosed technologies were not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the technologies as described herein.
The foregoing description of the implementations of the present techniques and technologies has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the present techniques and technologies to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the present techniques and technologies be limited not by this detailed description. The present techniques and technologies may be implemented in other specific forms without departing from the spirit or essential characteristics thereof. Likewise, the particular naming and division of the modules, routines, features, attributes, methodologies and other aspects are not mandatory or significant, and the mechanisms that implement the present techniques and technologies or its features may have different names, divisions and/or formats. Furthermore, the modules, routines, features, attributes, methodologies and other aspects of the present technology can be implemented as software, hardware, firmware or any combination of the three. Also, wherever a component, an example of which is a module, is implemented as software, the component can be implemented as a standalone program, as part of a larger program, as a plurality of separate programs, as a statically or dynamically linked library, as a kernel loadable module, as a device driver, and/or in every and any other way known now or in the future in computer programming. Additionally, the present techniques and technologies are in no way limited to implementation in any specific programming language, or for any specific operating system or environment. Accordingly, the disclosure of the present techniques and technologies is intended to be illustrative, but not limiting.
This application claims the benefit of U.S. Provisional Application No. 63/082,334, filed Sep. 23, 2020, entitled “Mobile Printing Robot System, Apparatus, and Method to Automatically Print Construction Trade Information for Printed Layout Lines”, which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63082334 | Sep 2020 | US |