MODULAR SELF-CONFIGURING INDUSTRIAL TABLE
20220274218 · 2022-09-01
Inventors
Cpc classification
B23Q17/007
PERFORMING OPERATIONS; TRANSPORTING
A47B1/02
HUMAN NECESSITIES
G05B2219/21092
PHYSICS
B23Q1/032
PERFORMING OPERATIONS; TRANSPORTING
International classification
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.-54. (canceled)
55. A modular, self-configuring tabletop apparatus comprising a. one or more modules; said modules configured to form a tessellation by side-by-side placement of said modules; each said module comprising one or more detection interfaces disposed along edges of said modules; said detection interfaces are configured to occupy interface locations periodically spaced in one or more dimensions of said tessellation by an interface-location period of each said one or more dimensions, such that one or more pairs of said detection interfaces on said adjacent modules are facing each other; each said pair of facing detection interfaces comprising at least one sensor; an output of each said sensor indicates whether or not said detection interface is facing a said detection interface of a said adjacent module; a tessellation extent of each said module along each said edge that comprises said periodically spaced interface locations is an integer multiple of said interface period of said dimension; b. a main controller configured to receive from each module the locations of one or more sensors facing a said detection interface of a said adjacent module and said tessellation extents of said module, or codes associated therewith; wherein said main controller is further configured to compute tessellation extents of said tabletop in said one or more dimensions as a function of said interface period and said sensor outputs.
56. The apparatus of claim 55, wherein at least one of the following is true: a. one or more of said interface locations is unpopulated by a said detection interface; b. lone or more of said detection interfaces are disposed on a structural support supporting a said module; c. said module shapes are any combination of rectangles, triangles, quadrilaterals, hexagons, and octagons; d. said modules are rectangular; e. said detection interfaces comprise transceivers, said transceivers of each said facing detection interface are configured to communicate, and each said module further comprises a controller in communicative connection with said transceivers of said facing detection interface and with said main controller.
57. The apparatus of claim 56, wherein at least one of the following is true: a. two outermost said interface locations on a said edge of each said module are spaced from nearest endpoints of each of said edge by up to one-half of said interface period; b. two outermost said interface locations on a said edge of each said module are spaced from nearest endpoints of each of said edge by up to one said interface period; c. said interface locations are periodic in an r-dimension at an interface-location period P.sub.ix and in a y-dimension at an interface-location period P.sub.iy, said main controller further configured to compute a shape of said tabletop; d. 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; e. two outermost columns of positioning locations of said positioning arrangements are spaced from nearest edges of said module by up to one-half of said positioning period; f. two outermost columns of positioning arrangements of said positioning locations are spaced from nearest edges of said module by up to one said positioning period; g. said positioning locations have a said positioning period along said r-dimension at a positioning period Ppx and along said y-dimension at a positioning period P.sub.py.
58. The apparatus of claim 57, wherein each said module further comprises one or more connection arrangements configured for attaching said adjacent modules; said connection arrangements disposed along edges of said modules and occupy locations periodically spaced in said one or more dimensions of said tabletop by a connection period of each said one or more dimensions, such that pairs of said connection arrangements of said adjacent modules meet along said adjacent edges of said adjacent modules; 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.
59. The apparatus of claim 58, wherein at least one of the following is true: a. two outermost said connection locations on a said edge of each said module are spaced from nearest endpoints of each of said edge by up to one-half of said connection period; b. two outermost said connection locations on a said edge of each said module are spaced from nearest endpoints of each of said edge by up to one said connection period; c. 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.
60. The apparatus of claim 59, wherein said interface-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 interface-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).
61. The apparatus of claim 60, wherein said interface-connection x and y periods are equal (P.sub.icx=P.sub.icy=P.sub.ic).
62. The apparatus of claim 61, wherein said modules comprise one or more plates, each said plate comprising 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.
63. The apparatus of claim 62, wherein at least one of the following is true: a. two outermost columns of positioning locations of said positioning arrangements are spaced from nearest edges of said positioning array by up to one-half of said positioning period; b. two outermost columns of positioning arrangements of said positioning locations are spaced from nearest edges of said module by up to one said positioning period; c. said positioning locations have a said positioning period along said r-dimension at a positioning period P.sub.px and along said y-dimension at a positioning period P.sub.py.
64. The apparatus of claim 63, wherein said interface-connection location period in the x-dimension is an integer multiple of said positioning period in the x-dimension (P.sub.ic==mPpx) and said interface-connection location period in the y-dimension is an integer multiple of said positioning period in the y-dimension (P.sub.icy=nP.sub.iy).
65. The apparatus of claim 64, wherein said x and y interface-connection location periods are equal to said x and y positioning periods (P.sub.icx=P.sub.icy=mP.sub.px=nP.sub.py; m=n).
66. The apparatus of claim 57, wherein said interface-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 interface-location period in the y-dimension is an integer multiple of said positioning period in the y-dimension (P.sub.iy=nP.sub.iy).
67. The apparatus of claim 66, wherein said x and y interface-location periods are equal and said x and y positioning periods are equal (P.sub.ix=P.sub.iy=P.sub.i=mP.sub.px=nP.sub.py=nP.sub.p; m=n).
68. The apparatus of claim 56, wherein at least one of the following is true: a. said transceiver comprises an optical emitter and optical detector; b. said main controller and module controllers are connected through a network dedicated to said apparatus and said module controller of each said module is further configured to report one or more of said facing transceivers of said module and said tessellation extents of said module, or codes associated therewith over, said network.
69. The apparatus of claim 68, wherein at least one of the following is true: a. a means of communication within said network is over said transceivers; b. said main controller is further configured to send one or more access codes to each said module controller over said transceivers; and c. said module controller sends said access code to said main controller over said network, thereby gaining access to said network.
70. The apparatus of claim 69, wherein said network is over cables, fiber, or wireless.
71. The apparatus of claim 70, wherein said main controller is configured to establish wireless connection with modules returning said access code over said wireless network and skip modules failing to return said access code over said wireless network.
72. A modular tabletop apparatus comprising one or more modules comprising one or more connection arrangements; said modules configured to form a tessellation by adjacent placement of said modules along edges of said modules; said connection arrangements are configured to occupy locations periodically spaced in one or more dimensions of said tessellation by a connection period of each said one or more dimensions, such that one or more pairs of said connection arrangements on said adjacent modules meet along said edges of said adjacent modules; 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.
73. The apparatus of claim 72, wherein at least one of the following is true: a. said connection arrangements comprise one or more recesses, said recess reaching an edge of said module, wherein said recess and a facing recess of an adjacent module form an interlocking shape; said facing connection recesses are thereby configured to receive a connection insert of said interlocking shape; b. one or more of said connection locations is unpopulated by a said connection arrangement; c. one or more of said connection arrangements are disposed on a structural support supporting a said module, connection of said adjacent modules thereby secured at said structural supports of said adjacent modules; d. said module shapes are any combination of triangles, quadrilaterals, hexagons, and octagons; e. module shapes are rectangles.
74. The apparatus of claim 73, wherein one or more of said modules are oriented vertically and said connection inserts comprise a connection insert for connecting a vertically oriented module between two horizontally oriented modules and/or a connection insert for connecting two vertically oriented modules meeting at an angle.
75. The apparatus of claim 73, wherein at least one of the following is true: a. two outermost said connection locations on a said edge of each said module are spaced from nearest endpoints of each of said edge by up to one-half of said connection period; b. two outermost said connection locations on a said edge of each said module are spaced from nearest endpoints of each of said edge by up to one said connection period; c. 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.
76. The apparatus of claim 75, wherein said modules comprise one or more plates, each plate comprising positioning arrangements thereon, one or more said positioning arrangements disposed at positioning locations along each of one or more rows on said plate, each row oriented along at least one dimension of said rectangle, said positioning locations are periodically spaced along said rows in a said dimension at a positioning period of said dimension: tessellation extents of each said module in each said at least one dimension is an integer multiple of said positioning period.
77. The apparatus of claim 76, wherein at least one of the following is true: a. two outermost columns of positioning locations of said positioning arrangements are spaced from nearest edges of said module by up to one-half of said positioning period; b. two outermost columns of positioning arrangements of said positioning locations are spaced from nearest edges of said module by up to one said positioning period; c. said positioning locations have a said positioning period along said r-dimension at a positioning period P.sub.px and along said y-dimension at a positioning period P.sub.py.
78. The apparatus of claim 77, wherein said connection period in the x-dimension is an integer multiple of said positioning period in the x-dimension (P.sub.cx=mP.sub.px); and said connection period in the y-dimension is an integer multiple of said positioning period in the y-dimension (P.sub.cy=nP.sub.iy).
79. The apparatus of claim 78, wherein said x and y connection location periods are equal to said x and y positioning periods (P.sub.cx=P.sub.cy=mP.sub.px=nP.sub.py; m=n).
80. The apparatus of claim 79, wherein said modules comprise a door-sliding mechanism for opening and closing of a door of a machine, wherein said main controller is configured to open said door before said receiving of said finished workpiece and to close said door after said feeding of said raw workpiece.
81. The apparatus of claim 80, wherein said door-sliding mechanism further comprises two temporary stops mounted on the side of said frame, said temporary stops disposed at positions of an arm of said door-sliding mechanism at which said door is open and at which said door is closed; said main controller is further configured to calibrate said door-sliding mechanism by sliding open and closed said door-sliding mechanism detached from said door and recording said open and closed stop positions.
82. The apparatus of claim 81, further comprising two temporary stops mounted on the side of said frame, said temporary stops emulating positions at which said door is open and at which said door is closed; said main controller is further configured to calibrate said door-sliding mechanism by sliding open and closed said door-sliding mechanism detached from said door and recording said open and closed stop positions.
83. A method for self-configuration of a tabletop apparatus, comprising steps of a. obtaining the apparatus of claim 82; b. obtaining, by said main controller, a data sequence associated with an access code of each said module controller to said network; c. propagating said data sequence to said module controllers over said transceivers; d. computing, by each module controller, an access code as a function of at least the data sequence; e. gaining access to said network, by each said module controller with its said access code; f. transmitting to each neighboring module (second module), by each said module controller (first controller) over each of the first modules' said transceivers, an exploratory data packet comprising an identifier of the first module controller, a module type of the first module, and an interface identifier of said exploratory transceiver; g. receiving said exploratory packet by a said controller of said second module, through a discovered transceiver of said second module; h. adding, by said second module controller, said exploratory packet data and the identifier of the discovered transceiver of said second module to a connectivity table stored in said second module; i. transmitting said connectivity tables to said main controller, over said network, by each discovered module controller; j. constructing, by the main controller from said connectivity tables, a tessellation table comprising orientations of said modules, absolute coordinates of said interfaces, and extents of the tabletop and tessellation of the modules, as a function of said connectivity tables; and k. mapping a tessellation of the modules, in accordance with said tessellation table.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0168] It is understood that the figures in this disclosure, briefly described below, are not necessarily drawn to scale.
[0169]
[0170]
[0171]
[0172]
[0173]
[0174]
[0175]
[0176]
[0177]
[0178]
DETAILED DESCRIPTION
[0179] 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
[0180] “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.
[0181] “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.
[0182] “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).
[0183] “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
[0184] “Extent” refers to a physical size in one of the dimensions.
[0185] “Module tessellation extent” is the physical extent (e.g., length or width) of the module plus the width of a gap (if any) between neighboring modules. In a tabletop apparatus, gaps between modules make an additional contribution to the overall size of the tabletop. In the invention, modules and their connection arrangements are periodically arranged such that their tessellation extents dimensions are an integer number of periods of periodic locations of at least one type of element (i.e., periodic locations of positioning arrangements, connection arrangements, and/or detection interfaces, as further described herein) in the tessellation.
[0186] “Adjacent module” refers to a neighboring module whose detection-interface locations and/or connection locations (as further described herein) are at corresponding points along meeting edges. Detection interfaces and/or connection arrangements at these locations are opposite each other and thereby configured to function intraoperatively, as further described herein.
[0187] “Consecutive module” refers to a neighboring module of, for example module “A,” whose detection-interface locations and/or connection locations continue the same periodicity as that of an edge of module A in the same directional orientation as the edge of module A. Depending on which embodiment of the invention, a consecutive module may or may not be an adjacent module, and vice-versa.
[0188] “Meeting edges” or “meeting sides” are edges or portions of edges of adjacent modules that are substantially in contact; or parallel (with a gap).
[0189] “Positioning arrangements” or “positioning grid” or “positioning array” refers to positioning features on modules, arranged as an array or grid with fixed distances between the positioning features. Positioning features will serve for accurately positioning workpieces, devices, robots, manipulators and other devices on the module and/or tabletop apparatus surfaces for positioning and in some cases also serve as fixation feature connecting various elements accurately positioned to the module/tabletop surface.
[0190] “Positioning period” or “positioning-location period” or P.sub.p refers to the repeating distance in a tessellation between locations of arrangements for positioning of workpieces.
[0191] “Connection arrangements” refers to physical connection mechanisms to physically connect adjacent modules, and can provide an accurate alignment of one module to the other, as further described herein.
[0192] “Connection period” or “connection-location period” or P.sub.c refers to the repeating distance in a tessellation between locations of arrangements for physical connection between modules.
[0193] “Detection interface” refers to a sensor, an emitter, a target, or a transceiver configured to interact with a facing detection interface of an adjacent module, at least one of the detection interfaces comprising an sensor, the facing detection interfaces providing for identification and/or communication between modules, as further described herein.
[0194] “Detection interface period” or “interface period” or “Interface-location period” or P.sub.i refers to the repeating distance in a tessellation between locations of module detection interfaces.
[0195] “Meeting connections” or “opposite connections” refers to a pair of connection arrangements of adjacent modules directly across from each other.
[0196] “Facing interfaces” refers to a pair of detection interfaces of adjacent modules directly across from each other.
[0197] “Interface-connection” refers to a combination of a detection interface and a connection arrangement corresponding to the same edge locations in a in the connection and interface grids, as further described herein.
[0198] “Interface-connection period” or P.sub.ic refers to the case where the detection-interface location period (P.sub.i) and the connection location period (P.sub.c) are equal
[0199] “Absolute coordinate system” or “tabletop coordinates” or X-Y (capitalized) refers to the main coordinate system of a table top apparatus as shown in
[0200] “Module axes” or “x′-y′ module axes” refers to the coordinate system attached to each module (i.e., rotating with module orientation), as, for example, shown in
[0201] (Where x and y are unprimed and uncapitalized, the meaning is clear from the context.)
[0202] 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.
[0203] 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
[0204] Reference is now made to
[0205] 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.
[0206] 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.
[0207] 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).
[0208] 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.)
[0209] 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 other-such 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.)
[0210] Reference is now made to
[0211] 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.
[0212] 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
[0213] Reference is now made to
[0214] 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.)
[0215] Reference is now made again to
[0216] 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.
[0217] 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.
[0218] 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
[0219] 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
[0220] Reference is now made to
[0221] In some embodiments, interlocking shapes possess bilateral symmetry, as does connection insert 135, or rotational symmetry, as does connection insert 137 in
[0222] 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.
[0223] In embodiments according to
Defection Interfaces and Interface-Location Period (P.SUB.i.)
[0224] Reference is now made to
[0225] 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.
[0226] 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.
[0227] 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, Tex.), 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′.
[0228] Detection interfaces may be periodically disposed at an interface-location period P.sub.i, as further described herein. In
[0229] 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 information-such as dimensional extents of modules and relative positions of identified transceivers-between 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.
[0230] 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.
[0231] 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 (
[0232] 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
[0233] 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.
[0234] 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
[0235] 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
[0236] Detection interfaces 107 are assigned interface identifiers: for example, module type A0 has detection interface identifiers A1-A8, assigned clockwise from the x′y′ origin (by prescribed convention; they can be any other defined order).
[0237] 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 x′y′ 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
[0238]
TABLE-US-00002 Orientation Offset from module x′y′ origin OR1 (x″, y″) OR2 (y″, −x″) OR3 (−x″, −y″) OR4 (y″, −x″)
[0239] For example, interface A2, with interface A0 coordinates (1, −½), is offset (in interface periods) from the A0 origin by (1, −½) for an A0 orientation of OR1; (−½, −1) for OR2; (−1, +½) for OR3; and (+½, +1) for OR4.
[0240] 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.
[0241] Reference is now made to
[0242] 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.
[0243] 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 x′y′ 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
[0244] Reference is now also made to
[0245] 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.
[0246] 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.
[0247] 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.
[0248] 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.
[0249] 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.
[0250] 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.
[0251] 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.
[0252] 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.
[0253] 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
[0254] 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
[0255] 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.
[0256] 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.
[0257] 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.
[0258] 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
[0259] 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
[0260] 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.
[0261] 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.
[0262] 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
[0263] For example, starting with main module 1100 positioned at default orientation OR1 (see row 1 in
[0264] Main controller 120.sub.00 continues constructing the tessellation table 845 from module 1101 (see row 3 in
[0265] 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
[0266] 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.
[0267] Note: A substantially similar non-limiting explanation of a self-configuration method is found in Appendices A-C.
Various Embodiments
[0268] Reference is now made to
[0269] Apparatus modules 104 comprise a door-sliding module 170, shelf lifting module 175, 1335 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.
[0270] 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.
[0271] 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 trays—either 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 120M—inlays 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.
[0272] 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 notification—e.g., indicator light; notifications may be communicated over the dedicated wireless network of apparatus 1000A, further described herein—to 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.
[0273] Reference is now made to
[0274] Reference is now made to
[0275] 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 lower level of tray magazine module 155.
[0276] 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.
[0277] Reference is now made to
[0278] Note, in
[0279] 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.
[0280] Reference is now made to
[0281] 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.
[0282] Reference is now made to
[0283] 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.
[0284] 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.
[0285] 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
[0286] Horizontal modules may be mounted to vertical plates, as shown in