MODULAR SELF-CONFIGURING INDUSTRIAL TABLE
20260034623 ยท 2026-02-05
Inventors
Cpc classification
B23Q17/007
PERFORMING OPERATIONS; TRANSPORTING
A47B1/02
HUMAN NECESSITIES
G05B2219/21092
PHYSICS
B23Q1/032
PERFORMING OPERATIONS; TRANSPORTING
International classification
A47B1/02
HUMAN NECESSITIES
Abstract
A modular tabletop apparatus, typically used for workpiece storage and handling during robotic manipulation and feeding to a machine, is disclosed. Modules of the apparatus comprise detection interfaces disposed at locations corresponding to module edge locations and arranged in a periodic grid. Alignment of facing detection interfaces along common edges of pairs of adjacent modules permits module controllers to detect neighboring modules, and a main controller to compute the overall size and shape of the tabletop formed by the modules. Connecting arrangements are also disclosed. The connecting arrangements may be placed at the same grid locations as the detection interfaces, advantageously permitting alignment of detection interfaces for any interconnection configuration of modules. Modules may comprise plates with a grid of positioning indentations. The period of the positioning grid can be an integer multiple or integer fraction of that of the interface/connection grid.
Claims
1. A modular, self-configuring tabletop apparatus comprising a. two or more modules configured to form a tessellation when placed in a side-by-side arrangement; each said module comprising: (i) edges oriented in one or more dimensions; (ii) one or more detection interfaces disposed along said edges at interface locations and configured to form facing pairs with detection interfaces of an adjacent module; and (iii) the interface locations periodically spaced by a location period of each of the one or more dimensions, wherein a tessellation extent of each said edge in each said dimension is an integer multiple of the location periods of said dimension; and b. a main controller configured to: receive at least one of the following indications: (i) the position of a first detection interface on a first module in relation to a second detection interface on a second module; (ii) the position of said second detection interface on said second module; and (iii) the tessellation extents of said first module and of said second module in said one or more dimensions; and compute, as a function of said indications, at least one of (i) an overall size of said tessellation; (ii) an overall shape of said tessellation; or (iii) an orientation between two or more of said modules.
2. The apparatus of claim 1, wherein one or more of said interface locations is unpopulated by a said detection interface.
3. The apparatus of claim 1, wherein one or more of said detection interfaces are disposed on a structural support supporting said module.
4. The apparatus of claim 1, wherein said module shapes are at least one of rectangles, triangles, quadrilaterals, hexagons, octagons, or any combination thereof.
5. The apparatus of claim 1, wherein said modules are rectangular and said interface locations are periodic in an x-dimension at an location period P.sub.ix and in a y-dimension at an location period P.sub.iy, said main controller further configured to compute a shape of said tabletop.
6. The apparatus of claim 5, wherein each said module further comprises: one or more connection arrangements configured for attaching said adjacent modules; the connection arrangements are disposed along the edges and occupy locations periodically spaced in said one or more dimensions by a connection period of each said one or more dimensions, wherein pairs of said connection arrangements meet along adjacent edges of said adjacent modules, and a tessellation extent of each said module along each said edge that comprises said periodically spaced connection locations is an integer multiple of said connection period of said dimension.
7. The apparatus of claim 6, wherein said connection locations are periodic in said x-dimension at a connection period P.sub.cx and in said y-dimension at a connection period P.sub.cy.
8. The apparatus of claim 7, wherein said location period in the x-dimension and said connection period in the x-dimension are equal (P.sub.ix=P.sub.cx=P.sub.icx); and said location period in the y-dimension and said connection period in the y-dimension are equal (P.sub.iy=P.sub.cy=P.sub.icy).
9. The apparatus of claim 8, wherein said connection x and y periods are equal (P.sub.icx=P.sub.icy=P.sub.ic).
10. The apparatus of claim 9, wherein said modules comprise one or more plates, each said plate comprising positioning arrangements thereon, said positioning arrangements disposed on a surface of said plate at positioning locations periodically spaced in at least one dimension of said surface at a positioning period of each of said at least one dimension; tessellation extents of each said module in each said at least one dimension is an integer multiple of said positioning period.
11. The apparatus of claim 10, wherein said positioning locations have a said positioning period along said x-dimension at a positioning period P.sub.px and along said y-dimension at a positioning period P.sub.py.
12. The apparatus of claim 11, wherein said connection location period is at least one of: an integer multiple of said positioning period in the x-dimension (P.sub.ic=mP.sub.px); and said connection location period is an integer multiple of said positioning period in the y-dimension (P.sub.ic=nP.sub.py), and; are equal to said x and y positioning periods (P.sub.ic=P.sub.px=P.sub.py; m=n=1).
13. The apparatus of claim 5, wherein said modules comprise one or more plates, each said plate comprising one or more positioning arrangements thereon, said positioning arrangements disposed on a surface of said tabletop at positioning locations periodically spaced in at least one dimension of said surface at a positioning period of each of said at least one dimension; tessellation extents of each said module in each said at least one dimension is an integer multiple of said positioning period.
14. The apparatus of claim 13, wherein said positioning locations have a said positioning period along said x-dimension at a positioning period P.sub.px and along said y-dimension at a positioning period P.sub.py.
15. The apparatus of claim 14, wherein said location period in the x-dimension is an integer multiple of said positioning period in the x-dimension (P.sub.ix=mP.sub.px); and said location period in the y-dimension is an integer multiple of said positioning period in the y-dimension (P.sub.iy=nP.sub.py).
16. The apparatus of claim 15, wherein said x and y location periods are equal and said x and y positioning periods are equal mP.sub.px=nP.sub.py=P.sub.p.
17. The apparatus of claim 1, each said module further comprises a module controller, wherein the transceivers, the module controller, and the main controller are configured to communicate with each other through communicative connections.
18. The apparatus of claim 17, wherein said one or more detection interfaces comprise a micro-switch, an RFID card, a proximity sensor, an optical sensor, RF transceivers, magnetic sensors, or any combination thereof.
19. The apparatus of claim 17, wherein said communicative connections are through at least one of: a wired network; a wireless network; or any combination thereof.
20. A method for self-configuring of a tabletop apparatus, comprising: positioning modules of the tabletop apparatus in a side a side-by-side arrangement to form a tessellation of modules, wherein each said module comprises: (i) edges oriented in one or more dimensions; (ii) one or more detection interfaces disposed along said edges at interface locations; and (iii) the interface locations periodically spaced by a location period of each of the one or more dimension; aligning said detection interfaces to form facing pairs with detection interfaces of an adjacent module, wherein a tessellation extent of each said edge in each said dimension is an integer multiple of the interface-location period of said dimension; receiving at least one of the following indications: (i) the position of a first detection interface on a first module in relation to a second detection interface on a second module; (ii) the position of said second detection interface on said second module; and (iii) the tessellation extents of said first module and of said second module in said one or more dimensions; and computing, by the main controller, as a function of said indications, at least one of (i) an overall size of said tessellation; (ii) an overall shape of said tessellation; or (iii) an orientation between two or more of said modules.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0169] It is understood that the figures in this disclosure, briefly described below, are not necessarily drawn to scale.
[0170]
[0171]
[0172]
[0173]
[0174]
[0175]
[0176]
[0177]
[0178]
[0179]
DETAILED DESCRIPTION
[0180] Appendices A-C, pertaining to a self-configuration method according to some embodiments of the invention, is found at the end of this document after the drawing. The Appendices are incorporated in the disclosure.
Definitions
[0181] Tabletop, tabletop apparatus, or apparatus refers an arrangement and/or tessellation of modules, such as plates and workpiece-handling modules, forming one or more of horizontal surfaces (which may or may not be at the same height), shelves, and vertically oriented modules as well as modules positioned above the vertically connected modules. Additionally, tabletop or tabletop apparatus can include one or more module controllers, a main module, and a main controller; and in some embodiments can include equipment such as manipulators, grinding wheels, polishing wheels, assembly equipment, electronic testing equipment, automated measurement equipment, laser processing and marking equipment and other processing equipment. [0182] Module refers to a plate or other apparatus that can be arranged with other modules by side-by-side placement along touching or parallel edges of the modules, horizontally, vertically and in angled position. [0183] Tessellation is a surface occupied by an arrangement of a plurality of modules, whereby neighboring modules meet along at least a portion of their edges (meeting edges may be either in contact or with a gap between them). [0184] Dimension refers to a particular spatial axis of a tabletop surface. In a tessellation of rectangular modules, there are two dimensions: x and y. In a tessellation of other polygonal modules, there may be additional dimensions (such as x. y, etc. shown in
[0202] (Where x and y are unprimed and uncapitalized, the meaning is clear from the context.)
[0203] Different elements of the invention described herein can be combined to construct an embodiment of the invention, even if the descriptions of the different elements are in different parts of the description and/or described with reference to different figures.
[0204] When describing an embodiment with reference to a figure, a reference number appearing in the description but not in the referenced figure refer to a same or equivalent element described in reference to the same number in a previous or later figure.
Tabletop Apparatus
[0205] Reference is now made to
[0206] The invention relates to an industrial tabletop apparatus 100. The apparatus is constructed from modules 104, some of which can be rectangular plates as shown. The tabletop 100 is typically employed for positioning raw, semi-finished, and/or finished workpieces 20 and parts. The tabletop may be used during manufacturing, as well as after production for handling, testing, and packaging of parts, subassemblies, and finished products, as well as packing of products. In some embodiments, tabletop apparatus 100 is employed in a pick-and-place system, wherein robots or cobots 15 mounted on tabletop 100 handle workpieces 20. For example, a robot 15 picks raw workpieces from their loading positions on the tabletop 100 and places them into a workpiece chuck of a CNC machine (not shown) and retrieves finished workpieces from the chuck and moves them to a return position on the tabletop 100. Loading and return positions can be on a top surface of tabletop 100 (or along a vertically oriented module, further described herein), on a shelf of a tray magazine module 155 of tabletop apparatus 100, or on any modules or elements of apparatus 100. In addition to CNC machines, embodiments of the invention may be operable with an injection-molding machine, measurement instruments, surface-mount technology (SMT), an assembly line, a packaging line, printing equipment, laser marking and processing equipment, other processing and handling equipment, and combinations thereof.
[0207] The tabletop comprises one or more modules 104. A module 104 can be a plate or a particular workpiece-handling and/or processing apparatus such as a conveyor belt, a door opening mechanism for an adjacent industrial machine, an automated-lift-module, a QA station, a material bar magazine, a shelf module, a robot gripper station, a grinding or polishing wheel, a laser processing and marking device, a gripper adaptor and others. Embodiments of tabletops described herein comprise rectangular modules 104. However tabletop 100 may comprise modules shaped in any combination of shapes, including triangles, rectangles and other quadrilaterals, hexagons, and octagons.
[0208] Modules are typically supported by one or more support structures such as profile frames 40. One frame may support a number of modules 104 and/or frames may each support one module 104. Modules 104 may be connected by connecting arrangements 112, further described herein. Plate modules may comprise positioning arrangements 110, as further described herein, for accurate placement of workpiece-handling accessories on tabletop. Examples of workpiece-handling accessories include inlay trays 140 for pre-determinative placement of workpieces 20 on tabletop 100, a polisher 145 for polishing of workpieces 20, and a work piece alignment jig (not shown).
[0209] Additionally, in an aspect of the invention apparatus 100 comprises a main controller 120M and modules 104 comprise detection interfaces, as further described herein. The detection interfaces provide a novel method for self-configuration of the tabletop apparatus 100, wherein main controller 120M computes the overall shape and size of the tessellation of modules 104, as further described herein. (Main controller 120M can be mechanically proximate to the rest of apparatus 100, as shown, or can be remotely located, or can be a designated module controller of one of the modules 104. Main controller 120M can be connected to the rest of apparatus 100 via cable and/or wirelessly.)
[0210] The self-configuration method can provide a full map of modules 104 of apparatus 100 that are in one or more coordinate systems. The method defines the relationship of coordinate systems with each othersuch as relative orientations of modules and change of planar dimensions when, for example, tabletop 100 comprises rectangular and hexagonal modules. The mapped coordinate systems can include coordinate systems of one or more robots, which can enable, for example, programming and maintaining positioning coordinates, including correct orientations of the robot arm on the tessellation of tabletop 100 and in relation to positioning arrangements and defined devices connected thereto; additionally, for example, in order for the robot arm to remain within defined boundaries in relation to tabletop 100. The mapping produced by the self-configuration method can enable visualization of the tessellation and position definitions for the elements, objects, devices, grippers, workpieces in relation to each other and in relation to the table top 100. Additionally, the map of modules' positions can help simplify setup, such as by computer GUI, of tabletop 100 and cobot 15 for a particular arrangement of workpieces 20, work-handling accessories, and industrial machines such as a CNC machine.
Positioning Arrangements and Positioning-Location Period (P.SUB.p.)
[0211] Reference is now made to
[0212] Positioning arrangements 110 secure workpiece-handling elements and workpiece processing devices in accurate positions. In some embodiments, positioning arrangements 110 are disposed over a tessellation of one or more plates 105 of tabletop 200 at positioning locations periodically spaced in each of at least one dimension (e.g., x- and/or y-dimensions), at a positioning-location period P.sub.p of the dimension. In some embodiments, one or more of the positioning locations on plates 105 are unpopulated by a positioning arrangement; for example, for modules 104 other than plates 105. Tessellation extents of modules 104 in each dimension with a positioning-location period (e.g. length L and/or width W) are discrete multiples of the positioning-location period of the dimension, assuring that periodicity of positioning locations is maintained for consecutive modules of a tessellation. Additionally, positioning locations can be periodic along both x and y dimensions; positioning-location periods in the x and y dimensions may or may not be equal. Equality of positioning-location periods in the x and y dimensions affords flexibility in tessellation geometry of plates, because rectangular plates may be added to a tessellation at any right-angle orientation without impairing the x and y periodicity of positioning locations. Such orientational invariance may be particularly exploitable if positioning arrangements 110 possess circular or rotational symmetry, as further described herein.
[0213] Furthermore, positioning locations on a plate 105 may be disposed on plate 105 such that there is up to half-period margins P.sub.p between the outermost positioning locations and the nearest edge in a periodic dimension (half-period margins, with neighboring plates touching, is shown in
[0214] Reference is now made to
[0215] Various types of positioning inserts 127A-C can be inserted in the positioning recesses 110. Positioning inserts 127A-C retain workpiece-handling bases 130A-C and elements mounted thereon in position. Workpiece handling elements can be supported by bases 130A-C. Insert/base combinations 127A-127C/130A-130C, respectively, are task-specific: combination A is employed for rectilinear-only restriction and rotational freedom of base 130A about positioning insert 127A; combinations B and C are employed for both rectilinear and rotational restriction of bases 130B-C. Combination C permits one-axis pre-alignment and locking of a rectilinear position. A pre-alignment capability permits easier mounting, for example, of a workpiece alignment jig 132, which can be aligned along the slot 128 during setup of the workpiece process. In some embodiments, the positioning recess 110, positioning insert 127A-C and/or base 130A-C are bored or threaded, for securing the base 130A-C to plate 105.
Connection Arrangements and Connection-Location Period (P.SUB.c.)
[0216] Reference is now made again to
[0217] A pair of opposite connection arrangements 112 of adjacent modules 104 enable a connection across edges of adjacent modules, at a connection location of the edges.
[0218] In some embodiments, connection arrangements are disposed over a tessellation of one or more modules 104 of tabletop 100 at connection locations periodically spaced in at least one dimension (e.g., x-and/or y-dimensions), at a connection-location period P.sub.c of the dimension. In some embodiments, one or more of the connection locations are unpopulated by connection arrangements; for example, connection locations within the interior surface of a module 104 are unpopulated by connection arrangements. Tessellation extents of modules 104 in each dimension with a connection-location period (e.g. length L and/or width W) are discrete multiples of the connection-location period of the module tessellation extent dimension, assuring that periodicity of connection locations is maintained for consecutive modules of a tessellation. Additionally, connection locations can be periodic along both x and y dimensions; connection-location periods in the x and y dimensions may or may not be equal. However, equality of connection-location periods in the x and y dimensions affords orientational flexibility in tessellation of modules, because rectangular modules may be added to a tessellation at any right-angle orientation without impairing the x and y periodicity of connection locations.
[0219] Furthermore, connection locations on a module 104 may be disposed along edges of module 104 such that there is up to half-period spacing P.sub.c between the outermost connection locations and the nearest edge endpoint in a periodic dimension (half-period spacing, with consecutive modules touching, is shown in
[0220] In some embodiments, modules with positioning arrangements form a tessellation comprising connection-location periods in the x- and y-dimensions of P.sub.px and P.sub.py, respectively (for non-rectangular modules, there may be a different number of dimensions, oriented one or more non-perpendicular directions, as further described herein, including in connection with
[0221] Reference is now made to
[0222] In some embodiments, interlocking shapes possess bilateral symmetry, as does connection insert 135, or rotational symmetry, as does connection insert 137 in
[0223] An advantage of the connection recess approach is ease of replacement of a module 104. A module 104 can be inserted and secured with installation work performed above the apparatus. Additionally, modules can be installed and removed without a need to disassemble surrounding modules in the tessellation: connection inserts and fasteners are inserted and removed above the module, so removal and insertion of modules is thereby made easily accessible.
[0224] In embodiments according to
Detection Interfaces and Interface-Location Period (P.SUB.i.)
[0225] Reference is now made to
[0226] Detection interfaces 107A to 107C of module 104 are disposed across from detection interfaces 107A to 107C, respectively, of module 104. When modules 104 and 104 are assembled, detection interface 107A is facing 107A, 107B is facing 107B, 107C is facing 107C. Detection interfaces 107A-C can be embedded into the edge of module 104 (as shown), disposed below the surface of a module (such as attached to a support structure), disposed above the surface of a module, or any combination thereof.
[0227] Each pair of facing detection interfaces comprises at least one sensor. In some embodiments, an output of the sensor indicates whether or not (1 or 0) the detection interface 107A of module 104 (for example) is facing an adjacent module (adjacent edges are in contact or, in other embodiments, directly across a gap). In some embodiments, an output of the sensor indicates whether or not the detection interface 107A of module 104 (for example) is facing another detection interface of an adjacent module. Examples of suitable types of sensors include micro-switches, RFID cards, proximity sensors, optical sensors, RF transceivers, magnetic sensors, and any combination thereof.
[0228] A pair of facing interfaces, 107A and 107A (for example), may or may not be identical. For example, one may be a sensor and the other a target of a material and construction making it detectable by the sensor. Alternatively, both 107A and 107A can each comprise a sensor and a target (e.g., alongside each other), allowing for universal connectivity of interface sensors (i.e., without concern about matching sensor detection interfaces with target detection interfaces). In some embodiments, the detection interface comprises an optical transmitter and receiver (e.g., OPB733TR; Optek Technologies; Carrollton, Texas), enabling exchange of data between detection interfaces, in addition to the sensing feature. In some embodiments, detection interface 107A (for example) transmits information about module 104 (e.g. dimensional extents of module 104) and the position of detection interface 107 relative to module 104 (or identifiers attesting thereto) and/or receives from detection interface 107A information about module 104 and the position of detection interface 107 relative to module 104 from facing detection interface 107A.
[0229] Detection interfaces may be periodically disposed at an interface-location period P.sub.i, as further described herein. In
[0230] In some embodiments, sensors are full-duplex transceivers, for example an optical emitter/detector pair. Furthermore, modules 104 may comprise controllers 120, 120 connected to the transceivers, permitting storage and communication of informationsuch as dimensional extents of modules and relative positions of identified transceiversbetween adjacent modules 104, 104 through the transceivers. Controllers and communication between them can enable configuration and operation of a local-area network of modules, as further described herein.
[0231] A pair of facing detection interfaces, for example 107A and 107A, enables determination by a main controller 120M connected to at least one of detection interfaces 107A-107A, that interface locations along corresponding edges of modules 104 and 104 are at a common interface location of the tessellation. This determination, made over all modules in a tessellation area of the tabletop, enables main controller 120M to compute the size and shape of the tessellation area, as further described herein.
[0232] In some embodiments, detection interfaces are disposed over a tessellation of one or more modules 104 of a tabletop at interface locations periodically spaced in at least one dimension (e.g., x- and/or y-dimensions), at an interface-location period P.sub.i of the dimension. In some embodiments, one or more of the interface locations are unpopulated by a detection interface; for example, within the interior surface of a module 104. Tessellation extents of modules 104 in each dimension with an interface-location period are discrete multiples of the connection-location period of the dimension, assuring that periodicity of interface locations is maintained for consecutive modules of a tessellation. Additionally, interface locations can be periodic along both x and y dimensions and x and y of P.sub.ix and P.sub.iy respectively in tessellations utilizing also non rectangular table tops and modules (
[0233] Furthermore, interface locations on a module 104 may be disposed along edges of module 104 such that there is up to half-period spacing P.sub.i between the outermost interface locations and the nearest edge endpoint in a periodic dimension (half-period spacing is shown in
[0234] In some embodiments, modules with connection arrangements form a tessellation comprising connection-location periods in the x- and y-dimensions of P.sub.cx and P.sub.cy, respectively. The tessellation further comprises interface-location periods in the x- and y-dimensions of P.sub.ix and P.sub.iy, respectively. In some embodiments, the x connection-location period is equal to the x interface-location period (P.sub.cx=P.sub.ix) and the y connection-location period is equal to the y positioning-location period (P.sub.cy=P.sub.iy); these relationships allow plates 105 to be cut, in their x and y tessellation extents, to any integer multiple of the connection-location periods without impairing positioning- and connection-location periodicities. Moreover, in some embodiments the x and y periods are equal (P.sub.cx=P.sub.ix=P.sub.cy=P.sub.iy), enabling invariance of both the interface-location and connection-location periodicities to rotational orientation of the plates. Preferably, interface locations and connection locations coincide. Alternatively, interface locations and connection locations are shifted in phase or period.
[0235] In some embodiments, connecting arrangements 112 and/or sensor interfaces 107 may disposed in the frame or structural support of the module, rather than inside the plates of the plate modules or at such a vertical level of other modules.
Detection and Self-Configuration Method
[0236] A non-limiting example of self-configuration of a tabletop apparatus is now described. The example is given for modules 104 selected from a non-limiting example of a set (AA0 and A0-F0) of standard module types, described in Table 1 and illustrated in
TABLE-US-00001 TABLE 1 Number of Distance det. interface from Module Width Length periods along Edge Type (mm) (mm) Width Length (periods) AA0 200 200 1 1 0.5 A0 200 600 1 3 0.5 B0 400 600 2 3 0.5 C0 600 600 3 3 0.5 D0 800 600 4 3 0.5 E0 1000 600 5 3 0.5 F0 1200 600 6 3 0.5
[0237] Detection interfaces 107 are assigned interface identifiers: for example, module type A0 has detection interface identifiers A1-A8, assigned clockwise from the xy origin (by prescribed convention; they can be any other defined order).
[0238] When module in the set are tessellated, the module edges are in contact; therefore the tessellation extents equal the module extents (i.e., no gaps). The modules have x extents (widths) and y extents (lengths) that are integer multiples of the interface-location period (P.sub.i). Each module type has an xy Cartesian coordinate plane. The module origin of each module type is defined by convention to be at the corner to the left to the first detection interface (A1, B1, etc.), as shown in
[0239]
TABLE-US-00002 Offset from module xy Orientation origin OR1 (x, y) OR2 (y, x) OR3 (x, y) OR4 (y, x)
[0240] For example, interface A2, with interface A0 coordinates (1, ), is offset (in interface periods) from the A0 origin by (1, 1/2) for an A0 orientation of OR1; (, 1) for OR2; (1, +) for OR3; and (+, +1) for OR4.
[0241] In this example, detection interfaces 107 each comprise an infrared transceiver, configured for two-way communication with a facing detection interface transceiver 107. Each module contains a module controller 120 communicatively connected to the infrared transceivers of the module. Module controllers comprise a memory storing identifying information, such as a module identifier and module type and additional storage space as required for storing data regarding adjacent modules discovered during self-configuration. Module controllers may further store data related to workpiece handling. In some embodiments, the memory of a module controller stores the actual size (in length units or number of periods) of the module and/or a table of interface positions; which may be used, for example, in modules with non-standard configurations or in tabletops where modules with non-standard configurations may be introduced.
[0242] Reference is now made to
[0243] Modules controllers 120.sub.00-120.sub.04 are interconnected through a network dedicated to the apparatus 700. In some embodiments, network links between module controllers 120.sub.00-120.sub.04 are established by communication through the transceivers of detection interfaces 107. In other embodiments, the dedicated network linking between module controllers 120.sub.00-120.sub.04 may be a wireless network, such as a WiFi network. In yet other embodiments, the network may be a cabled network, such as an Ethernet cabled network. In embodiments of this example, the dedicated network is a wireless network. Access to the dedicated network is restricted to modules 104 of apparatus 700. The dedicated network is employed for a self-configuration method of tabletop apparatus 700, as further described herein. Additionally, the network may also be employed for control and monitoring of workpiece-handling modules and workpiece-handling accessories and/or workpiece processing devices/equipment positioned on modules of apparatus 700.
[0244] In this embodiment, module S/N 1100, of type AA0, is the main module. The main module 1100, by the convention used in this example, has an orientation of OR1. Furthermore, the origin of the X-Y tabletop coordinate system is the same as the module xy origin of module 1101. The tabletop X-axis is co-linear with the main module x axis and the tabletop Y-axis is co-linear with main module y axis. The main module 1100 comprises a main controller 120.sub.00. Main controller 120.sub.00 is responsible for initiating the configuration method, computing the shape and size of tabletop 700, and controlling access to the wireless network. In other embodiments, main controller 120.sub.00 may be a module controller (i.e., belong to a designated module, as shown in
[0245] Reference is now also made to
[0246] In the description of some steps of the method, reference is made to redundancy and minimal data options of configuration. It is appreciated the two options have opposing design goals, and that a method with of redundancy and/or data minimization, in any combination, are included in the teachings of the invention.
[0247] Self-configuration 800 comprises main controller 120.sub.00 obtaining (e.g., computing, randomly generating, or fetching) a data sequence associated with an access code of to be used by each module controller 120.sub.01-120.sub.04 to gain access to the network 810. The data sequence may be randomly generated or may be a function of a number associated with main controller 120.sub.00, such as its serial number.
[0248] Self-configuration 800 further comprises main controller 120.sub.00 propagating the data sequence to the other modules 120.sub.01-120.sub.04 815 over the transceivers. Data sequence propagation 815 may employ protocols and/or algorithms (which are programmed in controllers 120.sub.00-120.sub.04) known in the art for node discovery and network broadcasting.
[0249] Self-configuration 800 may further comprise each module controller computing an access code to the network using a pre-defined algorithm 820. The access code of each controller 120.sub.01-120.sub.04 is a function of at least the data sequence received from main controller 120.sub.00. In some embodiments, each controller 120.sub.01-120.sub.04 computes the same access code from the data sequence. In some alternative embodiments, the access code of each controller 120.sub.01-120.sub.04 is a function of the data sequence and a number associated with a controller 120.sub.01-120.sub.04, such as its module serial number 1101-1104. In some embodiments, the access code is further encrypted and/or comprises a challenge. Step 820 is an optional security feature; in other embodiments, the access code that will be used by each module to access the network is the same as the data sequence originating from main controller 120.sub.00.
[0250] Self-configuration 800 further comprises module controllers 120.sub.01-120.sub.04 gaining access to the network 825, each using its access code. In some embodiments, gaining access 825 comprises passing module serial numbers, in order for main module 120.sub.00 to confirm that each module 120.sub.01-120.sub.04 calculated its correct access code from its serial number. Upon gaining access to the network 825, module controllers 120.sub.01-120.sub.04 are thereafter enabled to communicate with main controller 120.sub.00 over the network. In some embodiments, one or more of module controllers 120.sub.01-120.sub.04 are further enabled to communicate directly with each other over the network.
[0251] Gaining access with an access code 825 helps to prevent inadvertent or malicious connection to the network by modules or computing devices not connected to apparatus 700. This protection is particularly important if the network is a wireless network, as in the vicinity of tabletop 700 there may be unconnected modules of other tabletop apparatuses or malicious nodes that may attempt to access the network.
[0252] Self-configuration 800 further comprises each module controller 120.sub.01-120.sub.04 (in some embodiments, including all controllers 120.sub.00-120.sub.04) transmitting an exploratory data packet over each of its transceivers 830. The exploratory data packet comprises a module identifier (for example, serial number, e.g. 1100, 1101, etc.), module type (e.g. AA0, A0, B0, etc.), and interface address (e.g., AA1-AA4, A1-A8, B1-B10, etc.) of the detection interface of each transmitting transceiver. Exploratory data packets over each of a module's interface transceivers may be made simultaneously or scanned in some order, such as clockwise: AA1, AA2, AA3, AA4; A1, A2 . . . , A8; etc.; or in any predeterminate order. In some other embodiments, a module's controller may send exploratory packets in a random order of interface transceivers.
[0253] Modules 120.sub.01-120.sub.04 may all transmit exploratory data packets simultaneously or in some order determined by an algorithm known in the art, for example.
[0254] Where the transmitting transceiver is facing a transceiver of a neighboring module, the neighboring module receives the exploratory packet through the facing transceiver of the neighboring module 835. For example, interface transceiver B7 of module 1102 receives an exploratory packet from interface transceiver A2 of module 1101. (In
[0255] Self-configuration 800 further comprises each neighboring module's controller adding the exploratory packet data and the identifier of the receiving transceiver of the neighboring module to a connectivity table 840. One of the connectivity tables, that of module 1102, is shown in Table 2.
TABLE-US-00003 TABLE 2 Discovered Sending Sending Exploratory (receiving) Module Module (sending) interface S/N type interface B2 1104 B0 B10 B3 1103 C0 C3 B4 1103 C0 C2 B5 1103 C0 C1 B6 1101 A0 A3 B7 1101 A0 A2
[0256] Note that if each controller 120.sub.00-120.sub.04 sends exploratory packets over its detection interfaces, each pair of facing transceivers appears twice in the connectivity tables: once in connectivity table of each of the neighboring modules. This adds a level of redundancy that can improve cross-checking and correction algorithms when verifying the tessellation configuration.
[0257] In some embodiments, the receiving module reports to connectivity table from one sending detection interface from each unique sending module, as main module 120.sub.00 can determine the extents of an identified sending module relative to the position of a receiving detection interface and identified sending detection interface, given the sending module type. For example, module B0 S/N 1102 may record connectivity only for receiving detection interfaces B2 connected to module 1104 detected at B10, B3 connected to module 1103 detected at C3, and B6 connected to module 1101 detected at A3. Alternatively, the receiving module reports to connectivity table from all sending interfaces, providing a redundancy useful for checking and error correction.
[0258] Connectivity tables from discovered module controllers 120.sub.01-120.sub.04 is sufficient information for main controller 120.sub.00 to complete self-configuration 800. However, in some embodiments each sending module waits for a receiving module to acknowledge the exploratory packet from each interface. The receiving module acknowledges with a discovery data packet over the receiving interface transceiver. The discovery packet comprises the receiving module unique identifier (i.e. S/N) and module type, as well as the detection interface identifier of the discovered detected interface. The exploratory module controller receives the discovery packet, and records it along with the exploratory detection interface identifier in a connectivity mirror table. Connectivity mirror table can provide redundancy and a possibility of error checking and correction, if main controller 120.sub.00 will find that the amalgamation of connectivity tables is inconsistent with the amalgamation of connectivity mirror tables. Interfaces in questions can be commanded to recheck and re-report their facing interface and module identifiers.
[0259] In some alternative embodiments, the exploratory module controller only records from one discovered detected interface from each unique module. For example, each module controller may record an entry in its connectivity mirror table only for the detected interfaces shown with cross-hatched backgrounds in
[0260] In some embodiments, the exploratory module, after discovering a new adjacent module at one detection interface, determines which other detection interfaces of the exploratory module are connected to the same discovered module (based on the discovered detection interface identifier, and orientation of the discovered module determined therefrom), and the exploratory module then refrains from sending a discovery packet through its detection interfaces so determined. For example, each module controller may send an exploratory packet only to the detected interfaces shown with cross-hatched backgrounds in
[0261] Self-configuration 800 further comprises transmitting of connectivity tables and associated module identifiers over the network 840, by module controllers 120.sub.01-120.sub.04 to main controller 120.sub.00. The transmissions can be coordinated and made using protocols and/or algorithms known in the art.
[0262] In some embodiments, connectivity tables and/or connectivity mirror tables are sent by a reporting module to main controller 120.sub.00 in real time, enabling reporting modules to check with main module 120.sub.00 in real time as to whether a module discovering or discovered by the reporting model has already been reported by another module. This can enable the reporting module to skip transmissions via detection interfaces connected to the already reported module.
[0263] Self-configuration 800 further comprises main module 120.sub.00 constructing a tessellation table 845. The tessellation table comprises orientations of the modules, absolute coordinates of facing detection interfaces, and extents of the tabletop and tessellation of the modules. Constructing 845 is made based on the aggregation of the connectivity tables received from module controllers 120.sub.01-120.sub.04. Such a table is shown in
[0264] For example, starting with main module 1100 positioned at default orientation OR1 (see row 1 in
[0265] Main controller 120.sub.00 continues constructing the tessellation table 845 from module 1101 (see row 3 in
[0266] Main controller 120.sub.00 continues the calculation until all modules that reported connectivity tables are accounted for. In some embodiments, main controller continues cross-checking of redundant data, further described herein. From the tessellation table in
[0267] It is appreciated that the self-configuration method 800 disclosed herein is non-limiting. A person skilled in the art, given the teachings of the invention disclosed in this application, may implement a self-configuration result using a method whose details differ from the disclosed configuration method example.
[0268] Note: A substantially similar non-limiting explanation of a self-configuration method is found in Appendices A-C.
Various Embodiments
[0269] Reference is now made to
[0270] Apparatus modules 104 comprise a door-sliding module 170, shelf lifting module 175, QA post module 180, a tray magazine module 155 for feeding tray modules to lift module (further described herein), and a main plate module 105M.
[0271] A cobot 15 is mounted on a cobot adapter plate 185 placed on main plate module 105M and positioning in known relation to the Positioning arrangements. Cobot adapter plate 185 comprises feed-through connectors for power and data connections and pneumatic controls required for operation of cobot 15, thereby simplifying substitution or replacement of cobot 15. A controller of cobot 15 may be a part of the main controller 120M of apparatus 1000A, or may be a separate controller in communicative connection with main controller 120M.
[0272] An inlay tray 140 is positioned on a plate module 105 of tabletop 1000A with positioning arrangements (further described herein) of plate module 105. Given a type ID from a standard set of inlay trayseither manually by a UI of controlling software or by some encoding of inlay tray 140 transmitted to plate module 105 and then over the wireless network to main controller 120Minlays of tray 140 are disposed in known positions relative to positioning arrangements 110 in periodic and known positioning locations. Raw workpieces may be wedged into corners of inlays, thereby being in a predictive position that cobot 15 may be programmed to lift raw workpieces (of known size) from. Such predictive positioning also applies to heights of shelves in shelving module 155.
[0273] Cobot 15 is programmed to periodically place finished or partially processed workpieces (e.g., every 1,000 finished workpieces) on placement pads (in this example, nos. 1-5) of QA post module 180, typically used for quality assurance checks. A beam of a photo-interrupter 182 of QA post module 180 passes over the top surface of the placement pads 1-5. Photo-interrupter 182 permits notificatione.g., indicator light; notifications may be communicated over the dedicated wireless network of apparatus 1000A, further described hereinto personnel that QA post module 180 is populated by one or more finished workpieces. Upon processing of 5,000 pieces (in our example), indicating that all five placement pads are filled, the cobot program initiates an alert that the five QA pieces are completed. Cobot program may continue processing by the cobot, but if photo-interrupter 182 is still blocked after processing of 1,000 more pieces, the cobot program pauses the processing because no slot is available for placing the next QA sample. There may be another, more attention-grabbing alert until the five QA samples are taken and the photo-interrupter path is cleared. When it is cleared, cobot program resumes processing from the point it stopped.
[0274] Reference is now made to
[0275] Reference is now made to
[0276] Lift module 158 can elevate a tray 156 to the tabletop surface level. On the surface there can be slides 157 for transferring a tray between the top surfaces of tray magazine module 155 and a plate module 105 atop tray magazine module 155. The tabletop surface may thus be enabled to hold two trays 156. The combined tray magazine 155 and lift module 158 enables, for example, manually loading unfinished workpieces on trays 156 on multiple levels, for subsequent manipulation and processing of workpieces from the top surface, thereby enabling a longer time between manual reloading. Additionally (or alternatively), for example, after being processed workpieces can be robotically placed on a tray 156 at the top surface and the tray 156 can subsequently be carried to a a lower level of tray magazine module 155.
[0277] Lift module 158 and tray magazine module 155 may be joined to each other and/or to other modules of the apparatus by connection arrangements 112 and/or detection interfaces 107, in accordance with teachings disclosed herein.
[0278] Reference is now made to
[0279] Note, in
[0280] For the octagonal tessellation 165, connection locations are periodic with periods, in the x.sub.1 and y.sub.1 dimensions, equal to the extent of the octagonal plates. In the x.sub.2 and y.sub.2 dimensions, pairs of connection locations are periodic with periods equal to the extent of the octagonal plates. Each pair of connection arrangements are between an interstitial square plate and adjacent octagonal plates.
[0281] Reference is now made to
[0282] Note that octagonal plate module 105.sub.OCT and each of the other rectangular modules each have their own coordinate dimensions with regard to positioning, connection, and interface periodicities. The self-configuration method (described further herein) of tabletop 1000G further includes a step of transforming between the coordinate systems of neighboring rectangular module and octagonal modules, in order to seamlessly enable calculation of tessellation of the entire tabletop 1000G and motion of a robot to correct positions on both the rectangular and octagonal modules.
[0283] Reference is now made to
[0284] Apparatus 1000H may further comprise connection insert 175B for connecting two vertical modules meeting at a right angle. However, connection insert 175B can be designed to allow vertical modules 170 to intersect at any desired angle.
[0285] Vertical plates 170 may be their own module with their own detection interfaces, adapted for right-angle connection with detection interfaces of horizontal modules. Alternatively, a vertical plate 170 can be part of a horizontal module.
[0286] In addition could additional horizontal modules be positioned horizontally connected to the vertical module creating a box or shelf type module arrangement, as shown in
[0287] Horizontal modules may be mounted to vertical plates, as shown in