Robot Cell

The robotic cell with a two-dimensional coordinate system and detector-controlled robot positioning facilitates dynamic reconfiguration and coordinated movement, addressing reconfiguration challenges in large workpiece assembly.

JP7739453B2Active Publication Date: 2025-09-16BAE SYSTEMS PLC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2023563094
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-04-14
Filing Date
2022-04-13
Publication Date
2025-09-16
Estimated Expiration
2042-04-13

AI Technical Summary

Technical Problem

Existing robotic cells face challenges in efficiently reconfiguring and coordinating multiple robots for the assembly of large and complex workpieces, particularly in manufacturing aircraft components, due to limitations in positioning and assembly control.

Method used

A robotic cell with a cell floor defining a two-dimensional coordinate system and detectors to track robot positions and orientations, coupled with a controller for coordinated movement, allowing dynamic reconfiguration and interdependent robot control.

Benefits of technology

Enables efficient reconfiguration and improved coordination of robots, reducing downtime and enhancing manufacturing flexibility and safety by dynamically adapting to changes in workpiece dimensions and robot interdependencies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007739453000001
    Figure 0007739453000001
  • Figure 0007739453000002
    Figure 0007739453000002
Patent Text Reader

Abstract

Robot Cell A robot cell 1 is described having a cell floor 10 defining an array of nodes 100 corresponding to a predetermined two-dimensional coordinate system and defining a volume for receiving a workpiece W therein. The robot cell 1 comprises a set of robots 110 including a first robot 110A having a respective base 111, end effector 112, and work envelope 113 and defining a respective three-dimensional coordinate system positioned according to the array of nodes 100, a set of detectors 120 including a first detector 120A configured to detect respective positions and / or orientations of the set of robots 110 using a set of targets 140 disposed on and / or in the cell floor, and a controller 130 communicatively coupled to the set of robots 110 and the set of detectors 120 and configured to control movement of the set of robots 110 using the detected respective positions and / or orientations of the set of robots 110.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a robotic cell and a method for controlling a robotic cell. [Background technology]

[0002] Manufacturing involving the assembly of relatively large and / or complex workpieces, particularly expensive workpieces such as aircraft or components thereof, can be performed, at least in part, using one or more industrial robots, such as multi-axis robots, within a robotic cell. For example, multiple robots can be used to simultaneously assemble a particular aerostructure within a single robotic cell, with the assembly typically occurring over a period of 8 to 12 weeks. Such simultaneous assembly requires coordinated control of the individual robots.

[0003] Therefore, there is a need for improved robotic cells and methods for controlling robotic cells. Summary of the Invention

[0004] One object of the present invention is to provide a robotic cell and a method for controlling a robotic cell that at least partially eliminates or mitigates at least some of the disadvantages of the prior art, whether identified herein or elsewhere. For example, it is an object of embodiments of the present invention to provide a robotic cell that improves its reconfiguration. For example, it is an object of embodiments of the present invention to provide a robotic cell that improves the positioning and / or assembly of a workpiece, or portion thereof, received within the robotic cell. For example, it is an object of embodiments of the present invention to provide a method for controlling a robotic cell that improves the configuration of the robotic cell. For example, it is an object of embodiments of the present invention to provide a method for controlling a robotic cell that uses a coordinate system defined by a workpiece, or portion thereof, received within the robotic cell.

[0005] A first aspect provides a robotic cell having a cell floor defining an array of nodes corresponding to a predetermined two-dimensional coordinate system and defining a volume for receiving a workpiece therein, wherein the robotic cell comprises: a set of robots including a first robot having a respective base, end effector, and work envelope, defining a respective three-dimensional coordinate system positioned according to the array of nodes; a set of detectors including a first detector configured to detect the position and / or orientation of each of the set of robots, optionally using a set of targets located on and / or in the cell floor; a controller communicatively coupled to the set of robots and the set of detectors and configured to control movement of the set of robots using the detected respective positions and / or orientations of the set of robots.

[0006] A second aspect provides a method of controlling a robotic cell having a cell floor defining an array of nodes corresponding to a predetermined two-dimensional coordinate system and defining a volume for receiving a workpiece therein, the method comprising: detecting, by a set of detectors including the first detector and optionally a set of targets located on and / or within the cell floor, the position and / or orientation of each of a set of robots including the first robot, each having a respective base, end effector, and work envelope and defining a respective three-dimensional coordinate system positioned according to the array of nodes; and controlling, by a controller communicatively coupled to the set of robots and the set of detectors, movement of the set of robots using the detected respective positions and / or orientations.

[0007] A third aspect provides a computer comprising a processor and memory configured to at least partly carry out a method according to the second aspect.

[0008] A fourth aspect provides a computer program comprising instructions which, when executed by a computer comprising a processor and a memory, cause the computer to perform, at least in part, a method according to the second aspect.

[0009] A fifth aspect provides a non-transitory computer-readable storage medium comprising instructions that, when executed by a computer comprising a processor and a memory, cause the computer to perform, at least in part, a method according to the second aspect.

[0010] A sixth aspect provides a robot cell for a set of robots including a first robot, the robot cell defining an array of nodes corresponding to a predetermined two-dimensional coordinate system and having a cell floor defining a volume for receiving workpieces therein, wherein the set of robots having respective bases, end effectors, and work envelopes and defining respective three-dimensional coordinate systems are positioned according to the array of nodes; Here, the robot cell is a set of detectors including a first detector configured to detect a position and / or orientation of each of the set of robots; and a controller communicatively coupled to the set of robots and the set of detectors and configured to control movement of the set of robots using the detected respective positions and / or orientations of the set of robots.

[0011] The base of each of the sets of robots may be releasably mounted to the cell floor.

[0012] The cell floor may include a set of electrical and / or communication outlets, including a first electrical and / or communication outlet, where the set of robots is releasably coupled thereto.

[0013] The nodes of the array may be equally spaced from one another on a predetermined two-dimensional coordinate system.

[0014] The ratio of the number of robots in the set to the number of nodes in the array may be at least 1:10.

[0015] The first detector may be provided on and / or integrated with the first robot.

[0016] The first detector may include and / or be a non-contact detector configured to detect the position and / or orientation of the first robot using a set of targets located on and / or within corresponding nodes in the cell floor. The first detector may include and / or be a camera, an RFID tag reader, a barcode reader, a fiducial marker reader, and / or a proximity sensor.

[0017] The robot cell may include a set of sensors, including a first sensor, configured to sense a pose of each of the set of robots.

[0018] The controller may be configured to acquire a master three-dimensional coordinate system and control movement of the set of robots according to the acquired master three-dimensional coordinate system, which may be defined, at least in part, by a workpiece received within the defined volume.

[0019] The controller may be configured to correlate the three-dimensional coordinate systems of each of the set of robots, the predetermined two-dimensional coordinate system, and the three-dimensional coordinate system of the workpiece to the acquired master three-dimensional coordinate system.

[0020] The robotic cell may include a safety system, where the controller is communicatively coupled to the safety system and configured to position the safety system using the detected respective positions and / or orientations. The safety system may be configured to indicate a path for a human operator on the cell floor using a set of visual alerts.

[0021] The set of robots may include a second robot, wherein the respective work envelopes of the first robot and the second robot may intersect, and wherein the controller may be configured to control the movement of the first robot and the second robot in coordination with each other using the detected respective positions and / or orientations of the set of robots.

[0022] Detailed Description According to the present invention there is provided a robotic cell as set out in the accompanying claims. A method for controlling a robotic cell is also provided. Further features of the invention will become apparent from the dependent claims and the following description.

[0023] Robot Cell A first aspect provides a robotic cell having a cell floor defining an array of nodes corresponding to a predetermined two-dimensional coordinate system and defining a volume for receiving a workpiece therein, wherein the robotic cell comprises: a set of robots including a first robot having a respective base, end effector, and work envelope, defining a respective three-dimensional coordinate system positioned according to the array of nodes; a set of detectors including a first detector configured to detect a position and / or orientation of each of the set of robots; and a controller communicatively coupled to the set of robots and the set of detectors and configured to control movement of the set of robots using the detected respective positions and / or orientations of the set of robots.

[0024] In this way, the respective positions and / or orientations of the set of robots positioned according to the array of nodes in the robot cell are detected, for example in real time, and the movement of the set of robots is controlled using the detected respective positions and / or orientations. In this way, the reconfiguration of the robot cell is improved, since the mutual interdependencies of the set of robots are taken into account by the controller.

[0025] In this manner, during the production of a workpiece, a robot cell can be reconfigured, and the reconfiguration can be taken into account by the controller. For example, a robot cell may be reconfigured to relocate a particular robot therein to perform a subsequent stage of production previously outside the particular robot's respective work envelope. Additionally and / or alternatively, a robot cell may be reconfigured by, for example, removing an existing robot from the robot cell and / or introducing a new robot to the robot cell to perform a particular stage of production. For example, during production, the dimensions of the workpiece may change. Thus, a robot cell is dynamic and may transition over time through successive reconfigurations. However, each reconfiguration, such as the relocation, removal, and / or introduction of a robot and / or a change in the dimensions of the workpiece, consequently affects the control of the robot. For example, the relocation of a particular robot may limit the allowable work envelope of one or more adjacent robots, which, in turn, may limit the work envelope of the relocated robot. That is, individual robots may not be independent but may instead be interdependent with one another. However, because the mutual interdependencies of a set of robots are taken into account by the controller, the reconfiguration of the robot cell is improved.

[0026] In particular, reconfiguration of a robot cell is improved because the position and / or orientation of each of a set of robots is detected, communicated to the controller, and used by the controller in controlling its movement. For example, a robot cell may be reconfigured to relocate (i.e., change position and / or orientation) a particular robot of the set to perform a subsequent stage of manufacturing previously outside that particular robot's respective work envelope. For example, the controller is not constrained by the work envelope of each of the robots of the set and is therefore independent of such corresponding work limits, i.e., is unaware of the robot's position. Thus, the controller can command the relocation of a particular robot. Such relocation of a particular robot may limit the allowable work envelope of one or more adjacent robots of the set, which may in turn limit the work envelope of the relocated robot. The allowable work envelope may be defined by a Cartesian limit zone and / or may be associated with any object, e.g., a workpiece or portion thereof, a robot, a peripheral device, or a human operator. Thus, the controller can programmatically, e.g., dynamically, define the boundaries of each robot. In such an example, the new position and orientation of the relocated robot is detected by the set of detectors, and the controller uses the detected position and / or orientation of the relocated robot, as well as the detected position and / or orientation of each of the other robots in the set, to control the movement of the set of robots, including the particular relocated robot. For example, a robot cell may be reconfigured by removing an existing robot of the set from the robot cell. In such an example, the absence of the removed robot is detected by the set of detectors, and the controller uses the detected position and / or orientation of each of the remaining robots in the set to control the movement of the remaining robots in the set.Additionally and / or alternatively, the absence of a robot capable of performing a desired task may be identified by the controller, and / or the controller may select which particular robot will perform the desired task. For example, a robot cell may be reconfigured by introducing a new robot into the robot cell, e.g., to perform a particular stage of manufacturing. In such an example, the position and orientation of the new robot is detected by a set of detectors, and the controller uses the detected position and / or orientation of the relocated robot and the detected positions and / or orientations of each of the other robots in the set to control the movement of the set of robots including the new robot. Additionally and / or alternatively, the work envelope and / or capabilities (e.g., as a function of their respective end effectors) may be maximized and / or optimized. For example, end effectors may be interchangeable between different robots, thereby enabling a task to be performed by an appropriately positioned robot. For example, the end effectors may be communicatively coupleable, e.g., bidirectionally, to the robots, and thus communicate their respective capabilities to the robots and / or controller, i.e., smart end effectors. In this manner, the end effectors may be flexibly and / or generically implemented and / or their distributed control provided by a controller, facilitating programming of the robotic cell. Thus, reconfigurations of the robotic cell, such as repositioning, removal, and / or introduction of robots, are accounted for by the controller, thereby also reducing downtime due to reconfigurations. Additionally and / or alternatively, safe paths through the robotic cell for human operators may also be updated accordingly, e.g., by the controller, as described in more detail below.

[0027] Robot Cell A first aspect provides a robotic cell. Robotic cells are known. Generally, a robotic cell (also known as a robot cell, a robotized cell, or a work cell) includes one or more robots, individual robot controllers, and optionally peripheral equipment such as benches, machine tools, and / or part positioners, and / or safety systems.

[0028] Cell Floor A robot cell has a cell floor that defines an array of nodes corresponding to a predetermined two-dimensional coordinate system. It should be understood that the cell floor comprises and / or is a substrate, such as a platform or work area, on which a set of robots are positioned and on which and / or workpieces are received. For example, the cell floor may be a suspended cell floor (e.g., suspended a distance above a factory floor or ground). The suspended cell floor may comprise floor tiles / floor modules with associated support structures that function to provide structural support to the suspended cell floor. Advantageously, providing such a cell floor means that the robot cell can be utilized on an uneven factory floor or uneven ground (e.g., with shims utilized to account for such unevenness) and can provide space below the cell floor for routing and accommodating wiring, e.g., electrical wiring and communication wiring.

[0029] Generally, the cell floor is planar (i.e., horizontal), and thus a predetermined two-dimensional coordinate system, e.g., (x, y), can be defined thereon; optionally, a predetermined three-dimensional coordinate system, e.g., (x, y, z), can then be defined therefrom, with the cell floor at Z=0. Alternatively, the origin of the z dimension may be defined according to the pedestal to which the robot is mounted. Other coordinate systems may be defined. It should be understood that the array of nodes comprises and / or is a physical and / or structural array, rather than merely a logical or conceptual array. In particular, a set of robots is positioned according to the array of nodes, as described in more detail below. It should be understood, therefore, that the array of nodes defines the respective positions and / or orientations of the set of robots. In other words, the array of nodes defines where the set of robots (and optionally, the set of peripherals) are each locatable and / or their respective orientations. It should be understood that each node in the array is similar, thereby allowing, for example, a particular robot in the set to be repositioned according to any node. In one example, the first node in the array comprises and / or is an attachment point for a robot. In one example, the first node in the array comprises and / or is a cell floor module, optionally comprising an attachment point for a robot, where the cell floor is provided by a corresponding array of cell floor modules. In this manner, the cell floor is modular and therefore expandable, for example, by adding, removing, and / or moving cell floor modules. Each node in the array may be as described with respect to the first node.

[0030] In one example, each node of the array is regularly arranged on a predetermined two-dimensional coordinate system, for example, in a polygonal array such as a triangular array, a square array, a rectangular array, a hexagonal array, or a circular array. In this manner, a set of robots may be positioned according to a regular array. In one example, each node of the array is tessellated on the predetermined two-dimensional coordinate system. In this manner, the geometric similarity of each node facilitates scalability of the cell floor. In one example, each node of the array is equally spaced from one another on the predetermined two-dimensional coordinate system. In this manner, the complexity of the node array is relatively reduced.

[0031] In one example, the array of nodes includes N nodes, where N is a natural number greater than or equal to 1, e.g., 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 50, 100, 200, 500, or greater. In one example, N is a composite number (i.e., not a prime number). In one example, N is a square number. Preferably, the array of nodes comprises and / or is at least 2 nodes, e.g., 2 to 4, 2 to 8, 2 to 10, 2 to 20, 2 to 50, 2 to 100, 2 to 200, or 2 to 500 nodes.

[0032] In one example, the cell floor comprises a set of electrical and / or communication outlets including a first electrical and / or communication outlet (e.g., in the form of a ring circuit or a radial circuit within, above, or below the cell floor) for releasably coupling to a set of robots, e.g., the set of electrical and / or communication outlets corresponding to an array of nodes. In this manner, electrical and / or communication service is provided to the set of robots, e.g., at each node. In one example, in use, the set of robots is releasably coupled to the set of electrical and / or communication outlets.

[0033] The three-dimensional coordinate system of the workpiece, the three-dimensional coordinate system of the robot, and optionally the three-dimensional coordinate system of the peripheral equipment can be aligned to the predetermined two-dimensional coordinate system of the cell floor and the master three-dimensional coordinate system. This advantageously allows the present invention to utilize the predetermined two-dimensional coordinate system of the cell floor and the master three-dimensional coordinate system to expand the working volume of the robot set. This is particularly advantageous for the manufacturing and assembly of larger workpieces and final products.

[0034] volume The robot cell defines a volume for receiving workpieces therein. It should be understood that the volume is the area above the cell floor and includes the set of robots in addition to the workpieces received therein, and optionally one or more peripheral devices. As previously mentioned, a predetermined three-dimensional coordinate system may be assigned to the volume.

[0035] Workpiece The robot cell defines a volume for receiving a workpiece therein. In one example, the workpiece comprises and / or is a portion of an aircraft, an aerostructure, or the like. The workpiece may define its own respective three-dimensional coordinate system.

[0036] robot A robot cell includes a set of robots, each of which has a first robot, a base, an end effector, and a work envelope, and defines a respective three-dimensional coordinate system positioned according to the array of nodes. In other words, a set of robots includes one or more robots. That is, as generally described herein, a set excludes empty sets. It should be understood that each robot in the set is an industrial robot, such as an articulated or multi-axis robot, a Cartesian coordinate robot, a cylindrical coordinate robot, a spherical coordinate robot, a SCARA robot, and / or a delta robot. It should be understood that each robot in the set may be similar to or different from one another. That is, similar robots may be included in the set (i.e., a homogeneous set), and different robots may be included in the set (i.e., a heterogeneous set). Suitable robots are available, for example, from ABB, Yaskawa Electric Corporation, Midea Group (KUKA), Fanuc Corporation, Kawasaki Heavy Industries, Epson Robots, Stäubli, Fujikoshi Corporation, Comau, and / or Omron Adept Technology. Other manufacturers are also known. In one example, the first robot comprises and / or is an articulated or multi-axis robot. As will be understood by those skilled in the art, each robot in the set optionally has a base for mounting to the cell floor on a pedestal to increase the work envelope in the z-dimension and / or for connection to an electrical and / or communications outlet, an end effector for performing a task, and a work envelope. As will be understood by those skilled in the art, each robot in the set individually defines its own three-dimensional coordinate system, i.e., based on, for example, individual data or reference. It will be understood that the set of robots is arranged according to an array of nodes, and thus each robot in the set is positioned according to the array of nodes.

[0037] In one example, the ratio of the number of robots in the set to the number of nodes in the array is at least 1:2 or 1:4, more preferably 1:10, at least 1:25, or at least 1:50. In this way, the array of nodes provides many positions at which each robot in the set can locate, thereby allowing improved flexibility for manufacturing.

[0038] In one example, the base of each of the set of robots is releasably attached to the cell floor. In this manner, the robot cell may be repeatedly reconfigured, for example. In one example, the base of each of the set of robots includes a portion of a releasable attachment, e.g., a male portion, and the cell floor, e.g., each node and / or cell floor module, includes a corresponding portion of the releasable attachment, e.g., a corresponding female portion. In one example, the releasable attachment includes and / or is mechanical releasable attachment, provided, for example, by mechanical fasteners such as bolts and threaded passages, zero-point clamps, cups and cones, and / or quick-release fasteners such as cam fasteners, and / or electromagnetic releasable attachments. For example, a robot cell may be reconfigured to relocate (i.e., change the position and / or orientation of) a particular robot of the set, which requires removing the particular robot from the cell floor, relocating the removed robot using an overhead crane, and reinstalling the particular robot on the cell floor at the new position and / or orientation. Such reconfiguration may occur relatively frequently, for example every few days (e.g., every 2 to 10 days), and should occur with minimal disruption to maximize efficiency in the robotic cell.

[0039] In one example, the set of robots includes R robots, where R is a natural number greater than or equal to 1, e.g., 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, or more, e.g., 1 to 100, 1 to 50, 1 to 20, 1 to 10, or 1 to 5 robots. That is, the robot cell may be a multi-robot cell comprising multiple robots (i.e., R is at least 2), e.g., 2 to 100, 2 to 50, 2 to 20, 2 to 10, or 2 to 5 robots. It should be understood that the number of robots in a robot cell may be increased or decreased, i.e., varied, as needed, e.g., depending on the tasks to be performed.

[0040] In one example, the set of robots includes a second robot, where the respective task envelopes of the first robot and the second robot intersect, and where the controller is configured to control the movement of the first robot and the second robot in coordination with each other using the detected respective positions and / or orientations of the set of robots. In this manner, coordinated control of the first robot and the second robot is provided by the controller.

[0041] It should be understood that the set of robots is positioned according to the array of nodes. Thus, each robot in the set is positioned according to the array of nodes, as described above. However, it should be understood that the accuracy and / or precision of the position of a set of robots may be relatively low compared to the accuracy and / or precision (also known as repeatability) of each robot (i.e., each end effector) in the set. For example, the accuracy and / or repeatability of a particular robot may be within 0.1 mm. In contrast, the accuracy and / or precision of a particular robot's position according to the array of nodes may be within 10 mm, preferably within 2 mm, as determined, for example, by releasable attachments used to attach each base of the set of robots to the cell floor and / or by tolerance accumulation errors in the cell floor during assembly of the cell floor modules. That is, the accuracy and / or precision of a particular robot's position may be one to two orders of magnitude lower than the accuracy and / or precision of a particular robot. In other words, positioning the set of robots according to the array of nodes provides relatively coarse positioning, which typically is not suitable for manufacturing with strict accuracy and / or precision, but nevertheless facilitates positioning the set of robots during initial configuration and / or reconfiguration of the robot cell. Notably, even such relatively low accuracy and / or precision of the respective positions of the set of robots allows a controller to control the movement of the set of robots, e.g., in coordination with one another, using the detected respective positions and / or orientations of the set of robots. Thus, the robot cell and method of the present invention provide a method for initial configuration and / or reconfiguration of a robot cell, which enables determination of the positions and / or orientations (orientations) of the robots and peripherals relative to the cell floor coordinate system and the master three-dimensional coordinate system. Advantageously, this enables immediate, safe use of the robots after configuration or reconfiguration of the robot cell.It also advantageously provides the ability to configure or reconfigure a robot cell to encompass a volume larger than the single robot work envelope or the work envelope of multiple robots (in other words, the cell floor coordinate system has a reach larger than the reach of the single robot work envelope or the work envelope of multiple robots). This further advantageously means that there is no upper limit to the robot's working volume relative to a workpiece. The robotic cells and methods of the present invention can further provide for additional calibration, recalibration, and / or refinement of the position, orientation, and / or pose of a particular robot, peripheral, or workpiece through the use of sensors, as further described below. In other words, the accuracy and / or precision of the position and / or orientation may be further calibrated, recalibrated, and / or refined.

[0042] detector The robot cell comprises a set of detectors, including a first detector, configured to detect the position and / or orientation of each of the set of robots.

[0043] Preferably, the first detector is configured to detect the position and / or orientation of the first robot, and optionally further detectors of the set of detectors are each configured to detect the position and / or orientation of a respective robot of the set of robots.

[0044] Preferably, each robot or peripheral device is equipped with at least two detectors.

[0045] It should be understood that each position is the physical location of the set of robots, for example, according to a predetermined two-dimensional coordinate system. It should be understood that each orientation is the direction of the set of robots, for example, north, south, east, or west, or according to a predetermined angular coordinate system, for example, for each node. That is, at any particular position, a particular robot may face one of multiple directions, i.e., have a particular orientation. It should be understood that the work envelope of a particular robot may thus be determined within a volume by both its position and orientation. For example, a robot cell may be reconfigured to change only the position of a particular robot, to change only the orientation of a particular robot, or to change both the position and orientation of a particular robot. In contrast, it should be understood that the pose of a robot, for example, its end effector, may be described in terms of position and / or orientation.

[0046] In one example, the first detector comprises and / or is a non-contact detector, i.e., no mutual contact between the first detector and the robot set is required, thereby reducing the possibility of accidental damage.

[0047] In one example, the first detector comprises and / or is a camera, an RFID tag reader, a barcode reader, e.g., a safety-rated QR reader, a fiducial marker reader, and / or a proximity sensor. In this manner, the first detector can detect the position and / or orientation of each of the set of robots by reading its respective RFID tag, by reading its respective barcode, by reading its respective fiducial marker, and / or by sensing its proximity, using its one or more images. Suitable cameras, RFID tag readers, barcode readers, fiducial marker readers, and / or proximity sensors are known. Preferably, the detector is a Safety Integrity Level (SIL)-rated detector.

[0048] In one example, each detector of the set is provided on and / or integrated with each robot of the set, e.g., on and / or within their respective bases. In this way, each robot can effectively detect, e.g., autonomously, its own respective position and / or orientation and communicate this to the controller.

[0049] In one example, the set of detectors is configured to detect the position and / or orientation of each of the set of robots using a set of targets including the first target. It should be understood that the targets are predetermined. In this manner, detecting the position and / or orientation of each of the set of robots is facilitated because the position and / or orientation of each of the set of robots is detected using the set of targets compared to using the set of robots.

[0050] In one example, the first target comprises and / or is an RFID tag, a barcode, and / or a fiducial marker. Such targets may be relatively simple, robust, low-cost, and may include metadata such as location and / or orientation information.

[0051] In one example, the set of targets is positioned on and / or throughout the cell floor. In this manner, the set of targets can correspond to an array of nodes.

[0052] Preferably, the detectors are mounted on and / or in the base of the robot, with their field of view or detection field facing towards targets located in and / or on the nodes of the cell floor.

[0053] In one example, a plurality of detectors, e.g., two detectors, of the set are provided on and / or integrated with, e.g., on and / or within, each robot of the set, where each detector of the plurality of detectors is a non-contact detector configured to detect the position and / or orientation of each of the set of robots using a set of targets, e.g., corresponding targets, located on and / or within the cell floor. In this manner, the position and / or orientation of each of the set of robots is detected using the multiple detectors and targets, thereby providing confirmation and / or redundancy, e.g., in the event of accidental damage to the detectors and / or targets.

[0054] In one example, the set of detectors, including the first detector, is configured to repeatedly detect the position and / or orientation of each of the set of robots, e.g., intermittently, periodically, or continuously. In this manner, a reconfiguration of the robot cell is provided to the controller. For example, the position and / or orientation of each of the set of robots may be determined hourly, before and / or after performing a task, upon relocation, and / or on-demand. In one example, the controller is configured to command the relocation of the first robot.

[0055] In one example, the set of detectors is configured to detect the repositioning and / or reorientation of each of the set of robots. In this manner, the set of detectors may detect the repositioning and / or reorientation of the set of robots.

[0056] In one example, each node of the array is mapped to a corresponding target (or targets) of a set of targets, e.g., barcodes such as QR codes, located on and / or in the cell floor. For example, each node may be mapped to one or more unique QR codes. For example, for a square array of nodes, each robot of the set may be equipped with a safety-rated QR code reader at each corner of its base such that each robot detects four QR codes. By comparing the detected QR codes to the mapping between the array of nodes and the set of targets, the respective position and / or orientation of the robots may be determined, for example, by the respective robots and / or their controllers. It should be understood that detecting four QR codes provides redundancy, thereby protecting against erroneous reads. In other words, from the four detectors provided on and / or integrated with each robot, up to two detectors can fail while still providing the position and orientation of the robot.

[0057] Sensor In one example, the robotic cell includes a set of sensors including a first sensor configured to sense the pose of each of the set of robots. It should be understood that the set of sensors provides external sensing, such as using a vision system or an infrared sensor. The external sensing is known. In this manner, the accuracy and / or precision of control of the set of robots may be improved using the sensed poses of each of the set of robots.

[0058] In one example, the first sensor includes and / or is a non-contact sensor, e.g., a remote sensor. In one example, the first sensor includes and / or is a camera, e.g., a visible or IR camera, and / or a laser, e.g., a laser tracker. In one example, the first sensor includes and / or is a vision system. Suitable sensors and vision systems are known.

[0059] In one example, the first sensor comprises and / or is a movable and / or moving sensor. In this way, the first sensor is moved around and / or within the robot cell, thus sensing a particular robot and / or sensing multiple robots of the set during its movement. In one example, the robot cell comprises a gantry, e.g., an (x,y) gantry or an (x,y,z) gantry, on which the first sensor and / or set of sensors are mounted. In one example, the robot also comprises a turntable on which the first sensor and / or set of sensors are mounted. Advantageously, this means that the sensor and / or workpiece can move within the robot cell and do not need to be in a fixed position, thus providing a flexible and easily reconfigurable robot cell.

[0060] In one example, the set of sensors includes a second sensor, and the first sensor and the second sensor are positioned orthogonal to each other. In this way, the first robot may be sensed in two orthogonal directions by the first sensor and the second sensor, thereby improving the accuracy and / or precision of its guidance.

[0061] In one example, the set of sensors is configured to repeatedly sense, e.g., intermittently, periodically, or continuously, each pose of the set of robots while the controller is guiding the set of robots. In this way, the controller may guide the set of robots in real time based on feedback from the set of sensors.

[0062] In one example, the controller is configured to guide the set of robots within their respective work envelopes by correcting their respective motions using the sensed respective poses. In this manner, the precision and / or accuracy of guiding the set of robots by the controller may be improved. For example, a particular robot may be guided relative to a three-dimensional coordinate system, e.g., a predetermined / pre-calculated or master three-dimensional coordinate system, a workpiece and / or portions thereof, e.g., features therein, such as holes and / or peripherals.

[0063] In one example, the set of sensors is configured to selectively sense the poses of each of the set of robots in response to the respective movements of the set of robots. For example, the set of sensors may be configured to selectively sense the pose of a first robot while the first robot is performing a task with relatively high accuracy and / or precision on a workpiece to improve the accuracy and / or precision of the task, and not sense the pose of the first robot while the first robot is performing a task with relatively low accuracy and / or precision, such as changing a tool on an end effector. For example, the pose of the first robot may be calibrated and / or its calibration updated based on its sensed pose.

[0064] controller The robot cell comprises a controller communicatively coupled to the set of robots and the set of detectors and configured to control the movement of the set of robots using the detected respective positions and / or orientations of the set of robots. It should thus be understood that the controller is a master controller (see individual controllers included with each robot of the set) that has an overview of the robot cell, including the detected respective positions and / or orientations of the set of robots (and optionally the workpieces, peripherals, and perimeter / boundary of the cell floor), and the operations performed by each robot. Typically, the controller is implemented in software and / or hardware, e.g., using a computer having a processor and memory that includes instructions that, when executed, control the movement of the set of robots using the detected respective positions and / or orientations of the set of robots. It should thus be understood that the controller is communicatively coupled to the set of robots, e.g., bidirectionally, and thus can receive information from each robot of the set, including its respective work envelope and end effector, and send information to each robot of the set to control, e.g., adjust, its movement using the detected respective positions and / or orientations. In this manner, collisions between mutually adjacent robots may be avoided and / or manufacturing efficiency may be increased through coordinated movement of mutually adjacent robots (e.g., performing tasks together). It should be understood that the controller may be communicatively coupled, e.g., unidirectionally or bidirectionally, to the set of detectors and thus, e.g., repeatedly receive therefrom the detected positions and / or orientations of the set of robots.

[0065] In one example, the controller is configured to modify, e.g., limit, extend, or restore, the work envelopes and / or motion parameters (e.g., feedrates or velocities) of the robots of the set based on, e.g., the detected respective positions and / or orientations of the robots and their respective work envelopes. In this manner, potential collisions between adjacent robots can be avoided and / or manufacturing efficiency can be improved through cooperative movement of adjacent robots (e.g., performing tasks together).

[0066] In one example, the controller is configured to initiate an action in response to the detected respective positions and / or orientations of the set of robots, in one example, the action selected from identifying a robot of the set having a correct or incorrect position and / or orientation, identifying a correct position and / or orientation of a particular robot, a reconfiguration request such as pausing movement of a particular robot or set of robots, implementing a corrective or safety action, modifying such as limiting, expanding or restoring the work envelope of a robot of the set, updating a model of the robot cell, programming or reprogramming a robot of the set, or requesting a relocation of a particular robot of the set.

[0067] In one example, the controller is configured to acquire a three-dimensional coordinate system, e.g., a predetermined / pre-calculated or master three-dimensional coordinate system. In this manner, the movement of a robot cell, e.g., a set of robots, may be controlled according to the acquired master three-dimensional coordinate system. In one example, the controller is configured to correlate, e.g., map, the three-dimensional coordinate systems of each of the set of robots, and optionally each of the workpieces and / or peripherals, to the acquired master three-dimensional coordinate system. In this manner, the three-dimensional coordinate systems of a particular robot, workpiece, and / or peripheral are overlaid on the master three-dimensional coordinate system, and the movement of a particular robot, workpiece, and / or peripheral may be controlled according to the acquired master three-dimensional coordinate system so as to be correlated with the three-dimensional coordinate system of the particular robot, workpiece, and / or peripheral. In this manner, the movement of the set of robots, workpieces, and / or peripherals is controlled according to a single master three-dimensional coordinate system, thereby improving the accuracy and / or precision of their coordinated control. In one example, the acquired master three-dimensional coordinate system is defined, at least in part, by an accepted workpiece. In this manner, the movements of the robot set may be controlled according to a single master three-dimensional coordinate system that is defined at least in part by the accepted workpieces about which the robot set moves. In this manner, this single master three-dimensional coordinate system is characteristic of the workpieces and is independent of the robot cell. Accordingly, workpieces may be repositioned and / or reoriented within the robot cell and / or transferred between robot cells, and such repositioning and / or reorientation and / or transfer may be repeated by the controller, thereby improving efficiency.

[0068] In one example, the controller is configured to use the sensed (i.e., externally sensed) respective poses of the set of robots to guide the set of robots within the respective work envelope according to the acquired master three-dimensional coordinate system. In this way, the accuracy and / or precision of the set of robots is improved because the controller uses the sensed (i.e., externally sensed) respective poses of the set of robots to guide the set of robots according to the acquired three-dimensional coordinate system, e.g., a single master three-dimensional coordinate system that is at least partially defined by the accepted workpieces around which the set of robots move, as described above.

[0069] Safety Systems In one example, the robotic cell includes a safety system configured to alert a human operator, and the controller is communicatively coupled to the safety system.

[0070] In one example, the controller is configured to deploy a safety system using the detected respective positions and / or orientations of the set of robots and the respective work envelopes of the set of robots. In this manner, a safe path through the robot cell for a human operator is defined, identified, and / or updated, thereby improving the safety and thereby improving coordination between the set of robots and the human operator.

[0071] In one example, the controller is configured to use the detected respective relocations and / or reorientations of the set of robots and their respective work envelopes to reposition the safety system. In this manner, the safety system may be updated accordingly.

[0072] In one example, the safety system comprises a set of audio and / or visual alerts, including a first audio and / or visual alert, where the controller is configured to deploy the safety system by selectively enabling or disabling the first audio and / or visual alert. The audio alert includes, for example, a siren and / or spoken words. The visual alert includes, for example, lighting and / or displayed images. In this manner, the safety system can be dynamically updated, for example, in real time, based on the movement of the set of robots and / or the presence of a human operator, thereby improving safety. In one example, a set of visual alerts is provided in and / or on the floor of the cell, thereby indicating a safe path across therethrough and / or indicating dangerous areas. In one example, the safety system is configured to indicate a path for a human operator on the cell floor, for example, using the set of visual alerts.

[0073] In one example, the safety system comprises a set of identifiers including a first identifier configured to identify a disposition of a human operator, and wherein the controller is configured to dispose the safety system based on the identified disposition of the human operator. In this manner, the safety system can be dynamically updated, e.g., in real time, based on the disposition of the human operator, thereby improving safety.

[0074] In one example, the controller is configured to control the movement of each of the set of robots based on the identified position of the human operator, for example, by modifying the speed of movement or avoiding collisions, thereby improving collaboration between the set of robots and the human operator.

[0075] Peripherals In one example, a robotic cell comprises a set of peripherals including a first peripheral (e.g., a bench, a machine tool, or a part positioner) having a respective base positioned according to an array of nodes; wherein the set of detectors is configured to detect a position and / or orientation of each of the set of peripheral devices; Here, the controller is configured to control the movement of the set of robots using the detected respective positions and / or orientations of the set of peripherals, which may define their own respective three-dimensional coordinate systems.

[0076] In this manner, the respective positions and / or orientations of the set of peripherals may be taken into account by the controller when controlling the movement of the set of robots. In this manner, potential collisions between robots and adjacent peripherals may be avoided and / or manufacturing efficiency may be improved. In this manner, the set of robots may cooperate with the set of peripherals. For example, a particular robot may select a tool provided by a particular peripheral and configure its respective end effector with the selected tool. For example, a particular robot may request a repositioning of a particular peripheral such that the particular peripheral is removed from the respective work envelope of the particular robot.

[0077] Thus, the detectors may also be configured to detect the position and / or orientation of the peripheral devices, e.g., using one or more targets on or within the cell floor. In one example, each detector of the set is provided on and / or integrated with one or more peripheral devices, e.g., on and / or within their respective bases. In this manner, each peripheral device may effectively detect, e.g., autonomously, its own respective position and / or orientation and communicate these to the controller.

[0078] A sixth aspect provides a robot cell for a set of robots including a first robot, the robot cell defining an array of nodes corresponding to a predetermined two-dimensional coordinate system and having a cell floor defining a volume for receiving workpieces therein, wherein the set of robots having respective bases, end effectors, and work envelopes and defining respective three-dimensional coordinate systems are positioned according to the array of nodes; Here, the robot cell is a set of detectors including a first detector configured to detect a position and / or orientation of each of the set of robots; a controller communicatively coupled to the set of robots and the set of detectors and configured to control movement of the set of robots using the detected respective positions and / or orientations of the set of robots.

[0079] The robot cell, cell floor, array of nodes, predetermined two-dimensional coordinate system, volume, workpiece, detection, set of detectors, first detector, respective positions and / or orientations, set of robots, first robot, respective bases, end effectors and work envelopes, respective three-dimensional coordinate systems, control, controller, and / or movement of the set of robots may be as described with respect to the first aspect.

[0080] How to control a robot cell A second aspect provides a method of controlling a robotic cell defining an array of nodes corresponding to a predetermined two-dimensional coordinate system and having a cell floor defining a volume for receiving a workpiece therein, the method comprising: detecting, by a set of detectors including the first detector, respective positions and / or orientations of a set of robots including the first robot, each having a respective base, end effector, and work envelope, and defining a respective three-dimensional coordinate system positioned according to the array of nodes; and controlling, by a controller communicatively coupled to the set of robots and the set of detectors, movement of the set of robots using the detected respective positions and / or orientations.

[0081] The robot cell, cell floor, array of nodes, predetermined two-dimensional coordinate system, volume, workpiece, detection, set of detectors, first detector, respective positions and / or orientations, set of robots, first robot, respective bases, end effectors and work envelopes, respective three-dimensional coordinate systems, control, controller, and / or movement of the set of robots may be as described with respect to the first aspect.

[0082] The method may include any of the steps as described in relation to the first aspect.

[0083] Computer, computer program, and non-transitory computer-readable storage medium A third aspect provides a computer comprising a processor and memory configured to at least partly carry out a method according to the second aspect.

[0084] A fourth aspect provides a computer program comprising instructions which, when executed by a computer comprising a processor and a memory, cause the computer to perform, at least in part, a method according to the second aspect.

[0085] A fifth aspect provides a non-transitory computer-readable storage medium comprising instructions that, when executed by a computer comprising a processor and a memory, cause the computer to perform, at least in part, a method according to the second aspect.

[0086] definition Throughout this specification, the terms "comprising" or "comprises" mean including the specified component(s) but not excluding the presence of other components. The terms "consisting essentially of" or "consists essentially of" mean including the specified components but excluding other components, with the exception of materials present as impurities, unavoidable materials present as a result of the process used to provide the components, and components such as colorants that are added for purposes other than achieving the technical effects of the present invention, etc.

[0087] The terms "consisting of" or "consists of" mean including the specified components, but excluding other components.

[0088] Wherever appropriate and depending on the context, use of the terms "comprises" or "comprising" may be interpreted to include the meanings "consists essentially of" or "consisting essentially of," and "consists of" or "consisting of."

[0089] The optional features described herein may, where appropriate, be used either individually or in combination with one another, particularly in such combinations as set out in the appended claims. Optional features for each aspect or exemplary embodiment of the invention as described herein are also applicable, where appropriate, to all other aspects or exemplary embodiments of the invention. In other words, those skilled in the art reading this specification should regard the optional features for each aspect or exemplary embodiment of the invention as interchangeable and combinable between different aspects and exemplary embodiments.

[0090] For a better understanding of the present invention, and to show how exemplary embodiments of the same may be carried into effect, reference will now be made, by way of example, to the accompanying drawings in which: FIG. [Brief explanation of the drawings]

[0091] [Figure 1] FIG. 1 is a schematic illustration of a robotic cell in accordance with an exemplary embodiment. [Figure 2] FIG. 2 schematically illustrates a method for controlling a robotic cell in accordance with an exemplary embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0092] FIG. 1 schematically depicts a robotic cell 1 according to an exemplary embodiment.

[0093] A first embodiment provides a robotic cell 1 having a cell floor 10 defining an array of nodes 100 corresponding to a predetermined two-dimensional coordinate system and defining a volume for receiving a workpiece W therein (shown in dotted lines), wherein the robotic cell 1 comprises: a set of robots 110, including a first robot 110A, each having a respective base 111 (111A), end effector 112 (112A), and work envelope 113 (113A), defining a respective three-dimensional coordinate system positioned according to the array of nodes 100; a set of detectors 120, including a first detector 120A, configured to detect the position and / or orientation of each of the set of robots 110; and a controller 130 communicatively coupled to the set of robots 110 and the set of detectors 120 and configured to control movement of the set of robots 110 using the detected respective positions and / or orientations of the set of robots 110.

[0094] In this example, the first node 100A of the set is provided with an attachment point for a robot. In this example, the first node 100A of the array is a square cell floor module 11A that is provided with an attachment point for a robot, where the cell floor 10 is provided by a corresponding array of cell floor modules 11.

[0095] In this example, each node 100 in the array is regularly arranged in a square array on a predetermined two-dimensional coordinate system. In this example, each node 100 in the array is tessellated on the predetermined two-dimensional coordinate system. In this example, each node 100 in the array is equally spaced from one another on the predetermined two-dimensional coordinate system. In this example, the array of nodes 100 includes 49 nodes 100 forming a regular 7x7 square array. For convenience, the array of nodes is labeled using (x,y) notation to provide an identification of each node, and therefore an identification of each position of the set of robots 110. For convenience, the orientation of each of the set of robots 110 is identified using comparator orientation. Other schemes for identifying position and orientation are known.

[0096] In this example, the cell floor 10 comprises a set of electrical and / or communication outlets including a first electrical and communication outlet (not shown) for releasably coupling to a set of robots 110, where the set of electrical and / or communication outlets corresponds to an array of nodes 100. In this example, in use, the set of robots 110 are releasably coupled to the set of electrical and / or communication outlets in the form of a ring circuit embedded in the cell floor.

[0097] The robot cell 1 defines a volume for receiving therein a workpiece W. In this example, the workpiece W comprises or is an aircraft part, such as an aerostructure.

[0098] In this example, the first robot 110A is an articulated or multi-axis robot.

[0099] In this example, the ratio of the number of robots in the set to the number of nodes 100 in the array is 2:49.

[0100] In this example, the base 111 of each of the set of robots 110 is releasably attached to the cell floor 10. In this example, the base 111 of each of the set of robots 110 comprises a portion of a removable attachment (not shown), e.g., a male portion, and the cell floor 10, e.g., each node 100 and / or cell floor 10 module, comprises a corresponding portion of the removable attachment, e.g., a corresponding female portion. In this example, the releasable attachment is a mechanical releasable attachment provided by mechanical fasteners such as bolts and threaded passages. In this example, a releasable attachment mechanism is provided at each corner of the nodes of the cell floor (illustrated in FIG. 1 by a circle at each corner of the node).

[0101] In this example, the set of robots 110 includes two robots 110A, 110B. In this example, the set of robots 110 includes a second robot 110B, where the respective work envelopes 113A, 113B of the first robot 110A and the second robot 110B intersect, and where the controller 130 is configured to control the movement of the first robot 110A and the second robot 110B in coordination with each other using the detected respective positions and / or orientations of the set of robots 110.

[0102] In this example, the accuracy and / or precision of a particular robot's position according to the array of nodes 100 is within 2 mm.

[0103] The robot cell 1 comprises a set of detectors 120 configured to detect the position and / or orientation of each of the set of robots 110 .

[0104] In this example, the position and heading of the first robot 110A are (3,2) and south, respectively. In this example, the position and heading of the second robot 110B are (1,4) and east, respectively.

[0105] In this example, the first detector 120A is a non-contact detector. In this example, the first detector 120A is a camera. In this example, each detector 120 of the set is provided on and / or integrated with the respective base 111 of each robot of the set. In this example, the set of detectors 120 is configured to detect the position and / or orientation of each of the set of robots 110 using a set of targets 140 including the first target 140A. In this example, the first target 140A is a QR code. In this example, the set of targets is disposed on the cell floor 10. In this example, multiple detectors 120A, 120B of the set, for example, two, are provided on and integrated with each of the robots 110 of the set within their respective bases 111, where each of the multiple detectors is a non-contact detector configured to detect the position and / or orientation of each of the set of robots 110 using a set of targets, for example, corresponding targets, disposed on and / or within the cell floor 10. In this example, the set of detectors 120, including the first detector 120A, is configured to periodically detect the position and / or orientation of each of the set of robots 110.

[0106] In this example, first detector 120A is configured to detect the respective location and orientation of first robot 110A using a first target 140A located on the cell floor in a node located at 3,2 and a second target located on the cell floor in a node located at 3,2, along with an additional detector (not shown) on robot 110A's base 111A. Additionally, detector 120B is configured to detect the respective location and orientation of robot 110B using a third target located on the cell floor in a node located at 1,4 and a fourth target (not shown) located on the cell floor in a node located at 1,4, along with an additional detector (not shown) on robot 110B's base 111B. FIG. 1 does not represent the exact location and size of target 140A, which is shown in enlarged form at location 2,7 for illustrative purposes only. In this example, target 140A is positioned directly below detector 120A in the center of a releasable attachment point provided at the corner of a square node on the cell floor. Additionally, in this example, each other target is positioned directly below its respective detector at the center of a releasable mounting point provided at the corner of a square node on the cell floor.

[0107] In this example, the controller 130 is configured to initiate an action in response to the detected respective positions and / or orientations of the set of robots 110. In this example, the action is selected from identifying a robot of the set having a correct or incorrect position and / or orientation, identifying the correct position and / or orientation of a particular robot, implementing a corrective or safety action such as pausing the movement of a particular robot or set of robots, modifying the work envelope of a robot of the set such as limiting, expanding, or restoring it, updating a model of the robot cell, programming or reprogramming a robot of the set, or requesting a relocation of a particular robot of the set.

[0108] In this example, the controller 130 is configured to limit the working envelopes 113 of the set of robots 110, for example, based on the detected respective positions and / or orientations of the set of robots 110 and their respective working envelopes 113.

[0109] As described above, a reconfigurable cell floor 10 infrastructure has been designed. This cell floor 10 can present challenges in controlling multiple robots 110 and automated assets because they can be located at many different positions (i.e., locations) on the cell floor or at multiple orientations (i.e., orientations) at the same location. When driving automated devices around a complex and expensive aircraft structure, it was determined that there must be a way to know where all the assets in the cell 1 are, relate this to a master control system (i.e., controller 130), and, optionally, allow all assets to be driven along a common data system (a master three-dimensional coordinate system, which can also be thought of as a digital origin frame) instead of their own individual axes. The advantage of doing this is that no matter what orientation or position the assets are in, they can be driven relative to the aircraft data being assembled, significantly safeguarding the assets relative to the high-value product being built.

[0110] In general, the manufacturing principle is to provide assembly of major structural aircraft components using robots 110. The robots 110 deliver components to precise locations and then hold them while manual operations, such as bolting, are performed by personnel. Precision in the system is provided through the use of cameras or laser tracking systems (i.e., a set of sensors 150) that guide the robots / components to the correct position.

[0111] The robots 110 are positioned on a floor system 10 with a regular pattern of mounting nodes 100 at which the robots 110 can be positioned (in four orientations). The robots 110 themselves may be standard robots with their control systems removed and enhanced control systems (i.e., controllers 130) installed, allowing for higher levels of control of each robot 110, path planning, and parameter setting to optimize the robot configuration for aircraft assembly. These robots 110 also have the ability to incorporate additional precision on the robot through additional sensing (i.e., a set of sensors 150) that provides feedback to the control system (i.e., controller 130). The robots 110 can be moved around several nodes using cabling managed through the underfloor system. These nodes require no precision requirements beyond general flatness, as an external camera system (i.e., a set of sensors 150) provides all the precision by dynamically correcting the robots mounted on the nodes. Multiple robots can be placed on this floor system and interact with each other to assemble complex products.

[0112] The robot can change its end-of-arm tooling (ie, end effector 112) to pick up different component tools and process tools such as drilling heads, providing process versatility.

[0113] The assembly cell 1 has a comprehensive control system (i.e., controller 130) that receives the recipe file or actions (i.e., tasks) that need to be undertaken, and then calculates and orchestrates the robots in the cell to undertake the tasks in the recipe. In addition, the control system: 1. Know where all the robots in the cell are and implement a master control coordinate system; and / or 2. Safety systems may be adjusted and reconfigured, and / or 3. May visualize safety zones on the floor, and / or 4. Coordinate assets entering and leaving the cell, e.g., autonomous mobile robots; and / or 5. Collect data for analysis of critical manufacturing characteristics and communicate this to a factory analytics system; and / or 6. Calibrate the camera system and switch to a moving robot, which may require additional accuracy feedback.

[0114] In this example, cell 1 comprises a set of sensors 150 including a first sensor 150A configured to sense the pose of each of the set of robots 110. In this example, the first sensor 150A comprises a movable sensor. In this example, the first sensor 150A comprises a vision system. In this example, the set of sensors 150 includes a second sensor 150B, where the first sensor 150A and the second sensor 150B are positioned orthogonal to each other.

[0115] In addition to reconfigurable safety systems, the method can also be safety evaluated to enable feedback to be used in safety control systems.

[0116] Each node on the floor is equipped with a visual marker, and an interface device (e.g., a robot, tool, workstation, or HMI) is equipped with a series of camera systems (i.e., a set of detectors 120) that monitor QR codes (i.e., a set of targets 140). These cameras then feed the unique QR information back to the control system, which then calculates both the location and orientation of the device. The camera systems then interpret this data to calculate the device's position and orientation within the cell and expose this to the cell control system (i.e., controller 130) and optionally the safety system. The safety system uses the data to configure, comply with, or verify safety limits within the cell. The control system (i.e., controller 130) can use the data in several different ways, including but not limited to: 1. Queryable parameters of the device for console commands, e.g., where device x is located, and / or 2. Event triggers linked to the sequence of the recipe or to react to changes, e.g. a tool is moved to an incorrect position and therefore triggers a floor light to show the correct position, and / or 3. A state modifier, e.g., ensuring that device x is at location y before performing task z, and / or 4. Variables / identifiers in the program, e.g., autonomously deliver a part to position x, adapt to a path program based on variable x, and / or 5. Transformation parameters, e.g. in the case of a robot, the position and orientation relative to the aircraft data are used to transform the robot base coordinate frame to the aircraft data so all devices in the system know a common coordinate frame.

[0117] These processes can be applied to any automated device or item that requires positioning in the future.

[0118] In this example, a safety-rated camera and QR code are used, but the system will work equally well with any safety-rated sensing system that may be commercially available, e.g., RFID tags, April tags, coded proximity sensors.

[0119] This explains how to enable a master data system for reconfigurable systems: 1. A reconfigurable node assembly system with a master control system that allows all automated devices to be linked to a master coordinate system; 2. A system that enables reconfigurable automated assets to know their location; 3. A system that enables reconfigurable automated assets to know their orientation; 4. A control system that converts the position and orientation of the assets, allowing all automation devices to be driven in relation to the master (aircraft) data; 5. Safety-rated QR code and camera system for location and orientation measurement, 6. Optionally, supply safety ratings to the safety PLC for reconfigurable safety.

[0120] FIG. 2 schematically depicts a method for controlling a robotic cell according to an exemplary embodiment.

[0121] The robotic cell defines an array of nodes corresponding to a predetermined two-dimensional coordinate system and has a cell floor defining a volume for receiving workpieces therein.

[0122] In S201, the method comprises detecting, by a set of detectors including the first detector, the position and / or orientation of each of a set of robots including the first robot, each having a respective base, end effector, and work envelope and defining a respective three-dimensional coordinate system positioned according to the array of nodes.

[0123] At S202, the method comprises controlling, by a controller communicatively coupled to the set of robots and the set of detectors, movement of the set of robots using the detected respective positions and / or orientations.

[0124] While preferred embodiments have been shown and described, it will be recognized by those skilled in the art that various changes and modifications may be made therein without departing from the scope of the present invention as defined in the appended claims and as set forth above.

[0125] Attention is directed to all references and documents related to this application, filed contemporaneously with or prior to this specification, and open to public inspection herewith, and the entire contents of such references and documents are incorporated herein by reference.

[0126] All of the features disclosed in this specification (including any accompanying claims and drawings), and / or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations in which at most some of such features and / or steps are mutually exclusive.

[0127] Each feature disclosed in this specification (including any accompanying claims and drawings), unless expressly stated otherwise, may be replaced by alternative features serving the same, equivalent, or similar purpose. Thus, unless expressly stated otherwise, each feature disclosed is only an example of a generic series of equivalent or similar features.

[0128] The invention is not limited to the details of the foregoing embodiments, and extends to any novel one or any novel combination of features disclosed in this specification (including any accompanying claims and drawings), or any novel one or any novel combination of steps of any method or process so disclosed. The following is a summary of the claims as originally filed: [C1] 1. A robotic cell defining an array of nodes corresponding to a predetermined two-dimensional coordinate system, the robotic cell having a cell floor defining a volume for receiving a workpiece therein, a set of robots including a first robot having a respective base, end effector, and work envelope, and defining a respective three-dimensional coordinate system positioned according to the array of nodes; a set of detectors including a first detector configured to detect the position and / or orientation of each of the set of robots using a set of targets located on and / or within the cell floor; a controller communicatively coupled to the set of robots and the set of detectors and configured to control movement of the set of robots using the detected respective positions and / or orientations of the set of robots. [C2] The robot cell of C1, wherein the base of each of the set of robots is releasably attached to the cell floor. [C3] The robot cell of C1 or C2, wherein the cell floor comprises a set of electrical and / or communication outlets, including a first electrical and / or communication outlet, and wherein the set of robots is releasably coupled to the set of electrical and / or communication outlets. [C4] 4. The robot cell of any one of claims 1 to 3, wherein each node of the array is equally spaced from one another on the predetermined two-dimensional coordinate system. [C5] A robotic cell according to any one of C1 to C4, wherein the first detector is provided on and / or integrated with the first robot. [C6] A robotic cell as described in any one of C1 to C5, wherein the first detector is a non-contact detector configured to detect the position and / or orientation of the first robot using a set of targets positioned on and / or within corresponding nodes in the cell floor. [C7] The robotic cell of any one of C1 to C6, wherein the first detector is a camera, an RFID tag reader, a barcode reader, a fiducial marker reader, and / or a proximity sensor. [C8] The robotic cell of any one of C1 to C7, wherein the robotic cell comprises a set of sensors including a first sensor configured to sense a posture of each of the set of robots. [C9] A robot cell according to any one of C1 to C8, wherein the controller is configured to acquire a master three-dimensional coordinate system and control movement of the set of robots according to the acquired master three-dimensional coordinate system. [C10] The robot cell of C9, wherein the acquired master three-dimensional coordinate system is defined, at least in part, by a workpiece received within the defined volume. [C11] The robot cell of C9 or 10, wherein the controller is configured to correlate each three-dimensional coordinate system of the set of robots, the predetermined two-dimensional coordinate system, and the three-dimensional coordinate system of the workpiece to the acquired master three-dimensional coordinate system. [C12] 12. The robotic cell of any one of claims 1 to 11, comprising a safety system, wherein the controller is communicatively coupled to the safety system and configured to position the safety system using the detected respective positions and / or orientations. [C13] The robotic cell of C12, wherein the safety system is configured to indicate a path for a human operator on the cell floor using a set of visual alerts. [C14] 14. The robotic cell of any one of claims 1 to 13, wherein the set of robots includes a second robot, wherein the respective work envelopes of the first robot and the second robot intersect, and wherein the controller is configured to control movement of the first robot and the second robot in coordination with each other using the detected respective positions and / or orientations of the set of robots. [C15] 1. A method of controlling a robotic cell defining an array of nodes corresponding to a predetermined two-dimensional coordinate system and having a cell floor defining a volume for receiving a workpiece therein, comprising: detecting, by a set of detectors including a first detector and a set of targets disposed on and / or in the cell floor, the position and / or orientation of each of a set of robots, including a first robot, each having a respective base, end effector and work envelope, and defining a respective three-dimensional coordinate system positioned according to the array of nodes; and controlling, by a controller communicatively coupled to the set of robots and the set of detectors, movement of the set of robots using the detected respective positions and / or orientations.

Claims

1. 1. A robotic cell defining an array of nodes corresponding to a predetermined two-dimensional coordinate system, the robotic cell having a cell floor defining a volume for receiving a workpiece therein, a set of robots including a first robot having a respective base, end effector, and work envelope, and defining a respective three-dimensional coordinate system positioned according to the array of nodes; a set of detectors including a first detector configured to detect a position and / or orientation of each of the set of robots using a set of targets located on and / or within the cell floor, the first detector being a non-contact detector configured to detect the position and / or orientation of the first robot using the set of targets located on and / or within a corresponding node in the cell floor; a controller communicatively coupled to the set of robots and the set of detectors and configured to control movement of the set of robots using the detected respective positions and / or orientations of the set of robots.

2. The robotic cell of claim 1 , wherein the base of each of the set of robots is releasably attached to the cell floor.

3. 3. The robotic cell of claim 1, wherein the cell floor comprises a set of electrical and / or communication outlets, including a first electrical and / or communication outlet, and wherein the set of robots is releasably coupled to the set of electrical and / or communication outlets.

4. The robotic cell of claim 1 , wherein each node of the array is equally spaced from one another on the predetermined two-dimensional coordinate system.

5. The robotic cell of claim 1 , wherein the first detector is provided on and / or integrated with the first robot.

6. The robotic cell of claim 1 , wherein the first detector is a camera, an RFID tag reader, a barcode reader, a fiducial marker reader, and / or a proximity sensor.

7. The robotic cell of claim 1 , wherein the robotic cell comprises a set of sensors including a first sensor configured to sense a pose of each of the set of robots.

8. The robotic cell of claim 1 , wherein the controller is configured to acquire a master three-dimensional coordinate system and control movement of the set of robots according to the acquired master three-dimensional coordinate system.

9. The robotic cell of claim 8 , wherein the acquired master three-dimensional coordinate system is defined, at least in part, by a workpiece received within the defined volume.

10. 10. The robot cell of claim 8 or 9, wherein the controller is configured to correlate the three-dimensional coordinate systems of each of the set of robots, the predetermined two-dimensional coordinate system, and the three-dimensional coordinate system of the workpiece to the acquired master three-dimensional coordinate system.

11. 10. The robotic cell of claim 1, comprising a safety system, wherein the controller is communicatively coupled to the safety system and configured to position the safety system using the detected respective positions and / or orientations.

12. The robotic cell of claim 11 , wherein the safety system is configured to use a set of visual alerts to indicate a path for a human operator on the cell floor.

13. 2. The robotic cell of claim 1, wherein the set of robots includes a second robot, wherein the respective work envelopes of the first robot and the second robot intersect, and wherein the controller is configured to control movement of the first robot and the second robot in mutual coordination using the detected respective positions and / or orientations of the set of robots.

14. 1. A method of controlling a robotic cell defining an array of nodes corresponding to a predetermined two-dimensional coordinate system and having a cell floor defining a volume for receiving a workpiece therein, comprising: detecting, by a set of detectors including a first detector and a set of targets disposed on and / or in the cell floor, a position and / or orientation of each of a set of robots, including first robots having respective bases, end effectors, and work envelopes, and defining respective three-dimensional coordinate systems positioned according to the array of nodes, wherein the first detector is a non-contact detector configured to detect the position and / or orientation of the first robots using the set of targets disposed on and / or in corresponding nodes in the cell floor; and controlling, by a controller communicatively coupled to the set of robots and the set of detectors, movement of the set of robots using the detected respective positions and / or orientations.

Citation Information

Patent Citations

  • Liquid crystal element

    JP1994102515A

  • Production system, robot cell device, and production method of product

    JP2014176924A

  • Robot system and robot control unit

    JP2017148905A

  • Alarm method and robot system

    JP2017520419A

  • Robot and robot system

    JP2020073302A