ROBOTIC ASSEMBLY MACHINE.
Patent Information
- Authority / Receiving Office
- MX · MX
- Patent Type
- Patents
- Current Assignee / Owner
- DEXTERITY INC
- Filing Date
- 2022-04-05
- Publication Date
- 2026-05-19
AI Technical Summary
Industrial robots struggle to perform tasks requiring fine motor control and handling of fragile, irregularly shaped items, especially in assembly processes where parts need to be assembled with precision to avoid damage.
A robotic kit assembly system using a robotic arm with suction cups and computer vision, employing position and force control to precisely place parts into defined slots, guided by a control computer that generates assembly plans based on manifests and workspace data.
Enables efficient, precise, and damage-free assembly of kits by robots, ensuring parts are correctly aligned and inserted into slots, even with tight tolerances, without human intervention.
Smart Images

Figure MX433766B0
Abstract
Description
This application claims priority over the Application of United States Provisional Patent No. 62 / 926.168 entitled ROBOTIC MACHINE, filed on October 25, 2019, which is included herein by reference for all purposes. BACKGROUND OF THE INVENTION Industrial robots have been used to perform a variety of tasks, including tasks involving lifting heavy objects and performing tasks in environments or with materials that may be unhealthy for humans. Certain tasks have continued to be performed primarily by humans, including tasks related to fine motor control, handling fragile items, irregularly shaped items, etc. Designing and programming robots to perform such tasks is more challenging. Manufacturing processes, such as those in automobiles or other assembly lines, can involve assembling parts of 25 different shapes, sizes, materials, weights, etc. The parts may arrive in bulk, in boxes, or in containers, and be stored in locations close to the assembly line. A common approach is to assemble kits of parts in a work area. These kits are then provided to workers (humans, robots, etc.) on the main assembly line to add to the main product being assembled. For example, door handles can be arranged in kits from a main car assembly line and brought to a work area to match the models (e.g., 2-door, 4-door, etc.) and / or colors being assembled on the line. Containers or conveyors filled with door handles of the same style / color, for example, can be provided by a supplier, and kits containing various styles / colors of handles can be assembled and taken to the door and / or vehicle assembly line. In another example, kits comprising a prescribed mix of parts, each extracted from a source container holding only that part, can be assembled at another location to create a final product or a subassembly for integration into a final product. In yet another example, parts from containers of different sources can be assembled into kits, packaged, and shipped to a remote destination for assembly, such as a kit of parts to be included in a home-assembled piece of furniture or other item. The parts may be fragile and / or have a finish that could be damaged by rough handling. In a manufacturing facility or similar environment, the parts may be assembled in a bag or other transport container for transport, with less risk of damage during transit, to a work area where the parts will be used. Such a bag may include a slotted insert to receive individual parts, to hold the parts securely and prevent damage from impact, for example, when moving the container or other support from where the mixed-color (or style) kit is assembled to the line where the parts will be added to a larger assembly, such as a vehicle door in the case of door handles. The slots may have tight tolerances to protect the parts, which may make it difficult for a robotic system to insert parts into the slots. BRIEF DESCRIPTION OF THE DRAWINGS The following detailed description and accompanying drawings disclose several embodiments of the invention. Figure 1A is a block diagram illustrating one modality of a robotic machine for making kits. Figure IB is a diagram illustrating an example of a 5-piece that can be picked up and placed in relation to a kit-making operation in a modality of a robotic kit-making system. Figure 2A is a diagram illustrating an example of a correspondence between structures of a suction-type end effector and a manipulated item in a modality of a robotic system for making kits. Figure 2B is a diagram illustrating an example of a correspondence of structures of a suction-type end effector and a manipulated item in a modality of a robotic system for making kits. Figure 2C is a diagram illustrating an example of the correspondence of structures of a suction-type end effector and a manipulated item in a modality of the robotic system for making kits. Figure 3 is a flowchart illustrating one modality of a process for performing a robotic operation to make kits. Figure 4 is a flowchart illustrating one modality of a process for placing items in the corresponding locations of a receptacle. Figures 5A to 5D show a sequence of states that illustrate the placement of an item in a corresponding location in a receptacle in one modality of a robotic system for making kits. Figures 6A to 6C show a sequence of states that illustrate the placement of an item in a corresponding location in a receptacle in one modality of a robotic kit-making system. Figures 7A to 7C illustrate the placement of an item 20 in a corresponding location in a receptacle in one modality of a robotic kit-making system. Figure 7D is a flowchart illustrating one mode of a process for placing items into corresponding locations in a receptacle in one mode of a robotic kit-making system. Figures 8A to 8E illustrate the placement of an item in a corresponding location in a receptacle in one mode of a robotic kit-making system. DETAILED DESCRIPTION The invention can be implemented in numerous ways, including as a process; apparatus; system; material composition; product of a computer program embodied by a computer-readable storage medium; and / or a processor, such as a processor configured to execute instructions stored and / or entered by a memory coupled to the processor. In this specification, these implementations, or any other form the invention may take, may be referred to as techniques. In general, within the scope of the invention, the order of the steps of the described processes may be modified. Unless otherwise indicated, any component, such as a processor or memory, described as being configured to perform a task, may be implemented as a general component that is temporarily configured to perform the task at a given time or as a specific component manufactured to perform the task. As used herein, the term processor refers to one or more processing devices, circuits and / or cores configured to process data, such as computer program instructions. A detailed description of one or more embodiments of the invention is presented below, along with accompanying figures illustrating its principles. The invention is described in relation to these embodiments but is not limited to any one embodiment. The scope of the invention is limited only by the claims, and the invention encompasses numerous alternatives, modifications, and equivalents. Many specific details are set forth in the following description to enable a complete understanding of the invention. These details are presented by way of example, and the invention can be implemented according to the claims without some or all of these specific details. For the sake of clarity, the technical material known in the technical fields related to the invention has not been described in detail so as not to unnecessarily obscure the invention. A robotic kit assembly system is described. In several embodiments, a robotic system as described here assembles a kit that includes a prescribed variety of parts (e.g., door handles of different prescribed colors). The system uses a corresponding slot or other conveyor in which the robotic system places each part into a defined location in a bag, and the kits are then assembled. In several modalities, a robotic system as described in this document receives a manifest or other data identifying the parts to be included in a kit. For example, a bag may contain 12 door handles, and the robotic system may receive an identification of 6 pairs of colored door handles to be included in the kit. The system may receive a set of manifests to construct successive bags, each with a prescribed number and combination of parts. The robotic system receives configuration information and / or other data indicating the location of the source containers or bags, each of which contains one part of a specific style and / or color. The robotic system formulates and executes a plan to retrieve the parts identified in the manifest and place each in its corresponding location in the bag in which the kit is assembled. In various modalities, one or more of the position control, force control and computer vision-based control devices (e.g., from 2D and / or 3D cameras that provide image and / or depth data) to pick up and place items as needed to assemble the kit without human intervention. In several applications, position control is used to move a part to a location near the slot in which the part will be inserted. Force control is used to carefully probe until it is determined that the part is at least partially aligned with the slot. Force (and / or torque) control is then used to more fully insert the part into the slot. Figure 1A is a block diagram illustrating one embodiment of a robotic kit-making machine. In the example shown, the system 100 includes a robotic arm 102 rotatably mounted on a carriage 104 configured to travel along a rail 106. For example, the carriage 104 may include a computer-controlled mechanical and / or electromechanical drive mechanism configured to be used, under robotic / computer control, to move the carriage 104 along the rail 106, for example, to reposition the robotic arm 102 to a desired position. In this example, the robotic arm 102 is movably mounted on the carriage 104 and the rail 106, but in several other configurations the robotic arm 102 may be stationary or it may be totally or partially mobile in a way other than by translation along a rail, for example, if it is mounted on a carousel, or is fully mobile on a motorized chassis, etc. In the example shown, the robotic arm 102 has an end effector 108 at its operative distal end (farthest from the carriage 104). The end effector 108 comprises compatible suction cups 110. In various embodiments, the suction cups 110 comprise silicone or another natural or synthetic material that is durable but also sufficiently compliant to yield at least slightly when (initially and / or gently) they come into contact with an item that the robotic system 100 is attempting to grasp by using the robotic arm 102 and the end effector 108. In this example, the end effector 108 has a camera 112 mounted on its side. In other embodiments, the camera 112 can be located more centrally, for example, on the downward-facing face of the end effector 108 (in the position and orientation shown in Figure IA). Additional cameras can be mounted elsewhere on the robotic arm 102 and / or the end effector 108, for example, on arm segments of the robotic arm 102. Furthermore, the cameras 114 and 116, mounted on a wall in this example, provide additional visual data that can be used to construct a 3D view of the scene in which the system 100 is located and configured to operate. In several embodiments, the robotic arm 102 is used to place the suction cups 110 of the end effector 108 onto an item to be picked up, as shown, and a vacuum source provides suction to grasp the item, lift it from its source location and place it in a destination location.In the example shown in Figure 1, the robotic arm 102 is configured to pick items from source receptacles 118 and place each item in a corresponding location in a destination receptacle 120. In various modes, system 100 assembles kits, each in a corresponding receptacle, such as receptacle 120. System 100 receives manifests, invoices, or other data indicating which items to pick from which of the source receptacles 118 to assemble kits in receptacles such as destination receptacle 120. Receptacles 118 and / or 120 can be pushed into position by human workers and / or other robots (not shown in Figure 1A). The additional 118 source receptacles can be moved into place, for example, as kits are assembled and the previously placed 118 receptacles are emptied and / or to make the additional 25 items and / or items of a certain type, color, etc.different ones are available to be included in kits assembled by the system. In various modes, 3D image data or other data generated by one or more of cameras 112, 114, and 116 can be used to generate a 3D view of the System 100 workspace and the elements within it. The 3D image data can be used to identify elements to be selected / placed, for example, by color, shape, or other attributes. In various modes, one or more of cameras 112, 114, and 116 can be used to read text, logos, photos, drawings, images, trademarks, barcodes, QR codes, or other encoded and / or graphic information or content visible on and / or comprising elements within the System 100 workspace. For further reference to Figure 1A, in the example shown, system 100 includes a control computer 122 configured to communicate, in this example via wireless communication (but in various embodiments it could be both wired and wireless communication), with elements such as the robotic arm 102, carriage 104, effector 108, and sensors, such as cameras 112, 114, and 116, and / or weight, force, and / or other sensors not shown in Figure 1A. In various embodiments, the control computer 122 is configured to use sensor input, such as camera 112, 114, and 116, and / or weight, force, and / or other sensors not shown in Figure 1A, to view, identify, and determine one or more attributes of the items to be loaded and / or unloaded from trays 120 to trays 118. In various modes, the control computer 122 uses item model data from a library stored and / or accessible to the control computer 122 to identify an item and / or its attributes, for example, based on images and / or other sensor data. The control computer 122 uses a model corresponding to an item to determine and implement a plan for stacking the item, along with other items, in / on a destination, such as trays 118. In various modalities, the attributes and / or model of the item are used to determine a strategy 15 for grasping, moving, and placing an item in a destination location, e.g., a determined location where the item is determined to be placed as part of a planning / replanning process for stacking items in / on trays 118. In the example shown, the control computer 122 is connected to a teleoperation device 124 on demand. In some modalities, if the control computer 122 cannot continue in a fully automated mode—for example, if a strategy for grasping, moving, and placing an item cannot be determined and / or it fails in such a way that the control computer 122 does not have a strategy to complete picking and placing the item in a fully automatic mode—then the control computer 122 requests the intervention of a human user 126, for example, using the teleoperation device 124 to operate one or more of the devices among the robotic arm 102, the carriage 104, and / or the end effector 108 to grasp, move, and place the item. Figure IB is a diagram illustrating an example of a part that can be picked and placed in relation to a kitting operation in one embodiment of a robotic kitting system. In various embodiments, Figure IB illustrates a part of an irregularly shaped component or other subassembly that can be picked and placed by a robotic kitting system as described herein, such as the robotic kitting system in Figure 1A, for assembling kits by selecting items from source receptacles and placing each in a 2. corresponding location in a destination receptacle. In the example shown in Figure IB, the item includes a handle 140 and pedestals 142, 144 that terminate in structures for mounting the handle 140 to another structure. For example, the part shown in Figure IB could be a door handle, such as on a car door, or some other handle.Each of the pedestal portions 142, 144 has a specific shape that, in this example, fits snugly into a corresponding receiving cavity 146, 148 of a target receptacle, such as receptacle 120 in Figure 1A. In various embodiments, a target receptacle may include a foam or other insert that defines specific locations for each of a plurality of parts. In various embodiments, a robotic kitting system as described herein uses one or more position control and force control devices to place each item into a corresponding defined location in a target receptacle. The location of each item may be defined by one or more cavities in a protective material, such as a foam insert, separators (e.g., cardboard, plastic, etc.).In several embodiments, position control is used to position each item in the vicinity of its target slot or other location, and force control primitives are used to align (or verify the alignment of) the respective part structures with the corresponding cavities at the item's target location and to fit or insert the item into its location. In several embodiments, force control ensures that the slot is located and that the part is aligned and inserted into the slot with sufficient force to overcome and insert the item despite tight tolerances, all without damaging the receptacle (for example, due to damage to the foam or other insert) or the item. Figure 2A is a diagram illustrating an example of a structural correspondence between a suction-type end effector and a manipulated item in one modality of a robotic kit-making system. In the example shown, a suction-based end effector 202 includes suction cups 204 and 206. For clarity, mechanical, suction hose, electrical, and other connections to the end effector 202 are not shown in Figure 2A. The suction cups 204 and 206 in this example are bellows-type suction cups. The bellows of these suction cups, in various configurations, facilitate attachment to curved, flexible, and other more difficult-to-grip surfaces without restricting suction flow through the suction cups 204 and 206. In the example shown, the suction cups 204 and 206 are positioned on the end effector 202 at locations that align with the pedestals 142 and 144 attached to the handle 140. In various configurations, the suction cups of the end effector can be aligned with the corresponding structures of an item to be picked and placed using a robotic kitting system as described herein.Such alignment facilitated the picking / placing, such as by aligning the forces applied to an item with the structures that may be necessary to extract it from a source slot (e.g., a cavity in a protective insert of a source receptacle) and / or to insert it into a target slot (e.g., a cavity in a protective insert of a target receptacle). Figure 2B is a diagram illustrating an example of a structural correspondence between a suction-type end effector and a manipulated item in a robotic I / O system for making kits. In the example and state shown, the end effector 202 and suction cups 204 and 206 are coupled to the handle 140 in a location that aligns suction cups 204 and 206 with the corresponding pedestals 144 and 142. Figure 2C is a diagram illustrating an example of the correspondence between the structures of a suction-type end effector and an item handled in one mode of the robotic system for making kits. For clarity, the body portion of the end effector 202 is not shown in Figure 2C, and the top view 20 illustrates the alignment of suction cups 204 and 206 with pedestals 144 and 142, respectively. In several embodiments, a control computer comprising a robotic kitting system as described herein uses a suction-based end effector, such as the end effector 202 in Figures 2A to 2C, to grasp an item. The control computer can operate the robotic arm to which the end effector is connected (not shown in Figures 2A to 2C) to position the end effector 202 over the item to be grasped, as shown in Figure 2A, and to approach the item (e.g., the door handle 140) with a downward vertical approach.Force control, for example, force and / or torque sensors incorporated in the end effector, the robotic arm, and / or the wrist mechanism by which the end effector is attached to the robotic arm, can be used to detect that the suction cups (e.g., 204, 206) of the end effector have made contact with the item to be grasped, and / or to ensure that excessive force, such as a force likely to damage the item, is not applied. Pressure sensors can be used to ensure that the suction cups are positioned on the surface of the item in a location that provides adequate suction for lifting and moving the item. For example, the control computer can make small adjustments to the orientation and position of the end effector to achieve sufficient suction to lift the item. Figure 3 is a flowchart illustrating one modality of a process for performing a robotic operation 25 to make kits. In various modalities, the process 300 of the Figure 3 shows that the computer performs this task, such as the control computer 122 in Figure 1. In the example shown, in 302, a manifest or other data indicating high-level objectives, such as which kits will be assembled and what parts will be included in each kit, and workspace context information, such as which source and destination receptacles are located in which location in the workspace and what received items are present in each respective receptacle.Workspace context information can be provided as input, for example, by a human user, and / or it can be determined by the robotic kitting system, for example, by using image data generated by cameras in the workspace, such as cameras 114, 116 in Figure 1A; by using optical, radio frequency, or other scanners to identify receptacles in the workspace and / or items within the receptacles; etc. In 304, a plan is generated to pick / place items to meet requirements, such as the requirements defined by manifests or other data received in 302.For example, the control computer 112 in Figure 1, or another computer, can use the manifest (or other) and context data received at 302 to generate, without human intervention, a plan for collecting items from source receptacles to destination receptacles, such as to assemble a series of kits in the order and form prescribed by the manifest or other requirements data. At 306, the items are selected and placed, according to the plan generated at 304, to assemble kits that meet the requirements received at 302, considering context 5 received / determined at 302. In several modes, successive iterations of one or more of steps 302, 304, and / or 306 can be performed. For example, a first set of kits can be assembled to fulfill the first part of a high-level objective and / or plan. Subsequently, the source receptacles emptied by the robotic system to produce kits for assembling this first set can be removed from the workspace, for example, with the help of human workers and / or other robots, and replaced with other source receptacles. A further iteration of 302 and / or a part thereof can be performed, for example, to determine the context of the new / current workspace, and a further / next plan can be generated in 304 and implemented in 306 to assemble a subsequent 20th set of kits. Further iterations of one or more of steps 302, 304 and / or 306 of process 300 may be performed, as needed, until all requirements have been met. Figure 4 is a flowchart illustrating one embodiment of a process for placing items into their corresponding locations in a receptacle. In several embodiments, process 400 in Figure 4 is performed by a computer, such as the control computer 122 in Figure 1. Process 400 can be performed to pick / place items, as in step 306 of process 300 in Figure 3. In the example shown in Figure 4, step 402 involves taking a subsequent item from a source receptacle. For example, a robotic arm and end effector can be used to grasp an item, as in the example shown in Figures 2A through 2C. In 404, position control is used to move the item to the vicinity of a target location, such as a corresponding slot in a target receptacle, into which the item grasped in 402 is to be placed. Image data, such as that generated by cameras in the workspace (e.g.Cameras 114 and 116 in Figure 1A can be used to generate a three-dimensional view of the workspace, and in 404 the three-dimensional view can be used to move the item gripped in 402 to a corresponding slot in a target receptacle. In 406, force control is used, as required, to align the item with its corresponding slot and to slide the item into the slot. In several embodiments, a control computer comprising and / or otherwise associated with a robotic kitting system as described herein may execute one or more force control primitives, as described in 4.06, to align an item and slide the item into a corresponding target slot. For example, a first force control primitive may enable the robotic kitting system to detect that an item has made contact with the top surface of a foam or other insert that defines the target slots of a target receptacle. The force control primitive may cause the control computer to stop advancing the item and perform one or more operations to locate the slot. For example, the control computer may apply one or more search algorithms or techniques to find the slot, which in turn may utilize one or more force control primitives.In some applications, force and torque readings can be used to determine the degree to which an item, or a portion thereof, is aligned or nearly aligned with an associated portion of the target slot. For example, a peg / pedestal that is nearly aligned with a cavity into which it is to be inserted can be held with less resistance force and / or a slightly higher torque than if it were not more fully aligned with the structure. It can also be pushed back with greater force and more uniformly (less torque) than if it were partially and / or nearly aligned. Depending on the information detected during the initial approach to the target interval, in various modes, one or more force primitives can be invoked to better or more completely locate and align the item with the target interval. For example, in some modes, if force and / or torque readings suggest that one of a plurality of protrusions, each of which will be inserted into a corresponding cavity, is partially aligned with its groove, then the system invokes a force control primitive to first more completely align that part of the item with its groove, for example, by slightly adjusting the item's orientation to disengage other protrusions from the foam or other insert that defines the cavities (slots) in the target receptacle.Once the first part of the item is aligned and partially slid into its groove, the orientation is adjusted—for example, made parallel to the target receptacle—effectively using the alignment achieved for the first protrusion to align other parts of the item with their respective grooves / cavities. The part can then be slid more fully into the target location, using force control, for example, or a combination of force and position control, to detect when the item has fully slid into the groove. For example, if a force is detected pushing the item backward and the vertical height of the end effector is a height associated with having placed the item completely in the slot, the control computer can determine that the item has been successfully slotted. Other examples of force control primitives include, without limitation, primitives for using force control to find and place an item conveniently in an edge location, e.g., in a target receptacle; for placing an item in a location adjacent to one or more previously placed items; for detecting, based on the sensed force, that a container is misaligned and / or rotated 180 degrees from what was expected; etc. Figures 5A through 5D show a sequence of states illustrating the placement of an item in a corresponding location in a receptacle in one modality of a robotic kit-making system. In several modalities, a control computer comprising or otherwise associated with a robotic kit-making system as described herein, such as control computer 122 in Figure 1A, can implement a force-controlled slot as illustrated in the example shown in Figures 5A through 5D. In the example shown, handle 140 with pedestals 142 and 144 must be inserted into a target groove comprising cavities 146 and 148. Cavity 146 is shaped to receive pedestal 142, and cavity 148 is shaped to receive pedestal 144. The shapes and tolerances are such that even a slight misalignment would prevent pedestals 142 and 144 from being inserted into the corresponding cavities 146 and 148. In the position shown in Figure 5A, handle 140 has been moved to a position close to the target slot comprising cavities 146 and 148, but completely out of alignment with cavities 146 and 148. In several embodiments, the system would detect complete misalignment, as in Figure 5A, by detecting a maximum magnitude of opposing force yi, uniformly distributed, for example, to a downward vertical movement of the end effector. Figure 5B shows an initial position to which handle 140 can be moved in the vicinity of the target slot comprising cavities 146 and 148, for example, by position control.In the position shown in Figure 5B, an attempt to insert handle 140 into the slot, for example, by a downward vertical movement, would encounter opposing forces since pedestals 142, 144 are in contact with the surface of the foam or other material that defines cavities 146, 148. Figure 5C illustrates a different initial location to which handle 140 can be moved, for example, by position control. In the example shown in Figure 5C, the longitudinal axis of handle 140 is aligned with the corresponding centerline of the slot comprising cavities 146 and 148. In several modes, the misalignments shown in Figures 5A, 5B, and 5C, respectively, would result in a different set of force and torque sensor readings, each set of readings being characteristic of that handle position 140 with respect to the slot. In several embodiments, a robotic kit-making system as described here uses force control to find a slot and insert an item, as illustrated in Figure 5D, once the item has been moved, for example, using position control, close to the slot, as shown in Figures 5A, 5B, and 5C. Force and torque readings are used in several embodiments, along with one or more force control primitives, to search for a position and orientation that reduces or eliminates the forces and / or torques opposing insertion. In one approach, once near the slot, the robotic arm can be used to move the item into the plane of the target receptacle (e.g., x and y axes), simultaneously recording force detection and position. The force sensor signal is filtered, and the search algorithm detects when the force signal drops below IN, indicating that the item is at the top of the slot and not in the foam (no upward force present). When this force drop occurs, the robot's position associated with this change is recorded, and the robot moves to this location. Item insertion is then triggered by instructing the robot to lower itself until a force threshold is sensed, at which point any tilt correction is performed. The robot's height position is then checked to confirm that the item is fully inserted into the slot. In another approach, the item is moved within the plane of the target receptacle while continuously pressing down with an oscillating up / down force. In addition, another force control is active, detecting any forces opposing the direction of movement, and the system proportionally compensates for these opposing forces (impedance control). This aligns the item with the cavities defining the slot, and subsequently, tilt correction is performed by adjusting the robot's tilt. Based on this, the robot's height position is checked to verify that the item is fully within the slot. In several modalities, the controllers are implemented hierarchically, as follows: 1) downward force, 2) Cartesian position (x, y, z movement) and impedance force control, and 3) orientation control (guarantee to maintain the orientation of the end effector at all times). Figures 6A to 6C show a sequence of states illustrating the placement of an item into a corresponding location in a receptacle in one mode of a robotic kit-making system. In the example shown, end effector 202 used suction cups 204 and 206 to grasp the handle. 140 comprising pedestals 142 and 144 and used the position control to move the handle to the position shown in Figure 6A. In the position shown in Figure 6A, pedestals 142 and 144 are displaced from the corresponding cavities in the foam insert 602 in which they must 2. For example, the cavities 146 and 148 in Figures 5A to 5D are inserted. In several embodiments, a robotic kitting system as described herein detects misalignment as shown in Figure 6A. In some embodiments, the robotic kitting system can determine, for example, based on detected forces and / or torques, that pedestals 142 and 144 are partially aligned with their respective cavities. In this example, the system tilts the end effector 202 (and the structures comprising and / or attached to the end effector) as shown in Figure 6B, using force control to keep pedestal 142 coupled (i.e., in contact) with the foam insert 602. The system uses one or more search strategies, for example, as described above, to align pedestal 142 with its corresponding cavity, as shown in Figure 6B.Once it has been determined that the pedestal 142 is aligned with its corresponding cavity, the system changes the orientation of the end effector 202 and uses a downward vertical movement to insert each of the pedestals 142, 144 into its corresponding cavity. Figures 7A to 7C illustrate the placement of an item in a corresponding location within a receptacle in one modality of a robotic kit-making system. In the example shown, as illustrated in Figure 7A, a first target receptacle 702 is aligned with an expected orientation indicated by the y-axis, but a second target receptacle 704 is aligned with a y-axis that is offset from the expected orientation y-axis. As shown in Figure 7B, in several modalities, a robotic kit-making system as described herein, which expects the target receptacle 704 to be aligned with the expected y-axis, may initially move an item such as handle 140 to a position as shown in Figure 7B. The system would expect the longitudinal axis of handle 140 to be aligned with the orientation of the groove defined by the cavities 146 and 148 to facilitate insertion.In several embodiments, a robotic kitting system as described herein uses force control to find and align pedestals 142 and 144 with cavities 146 and 148, thereby discovering the true orientation of the target receptacle 704 on the new y-axis. In several embodiments, a robotic kitting system as described herein, by detecting the true orientation of the target receptacle 704 on the new y-axis (in this example), reassigns the position of other slots in the target receptacle 704, increasing the accuracy, speed, and efficiency of subsequent operations to insert other items into the remaining slots in the target receptacle 704. 2. Figure 7D is a flowchart illustrating one modality of a process for placing items into the corresponding locations of a receptacle in one modality of a robotic kit-making system. In several modalities, process 720 of Figure 70 is implemented by a control computer or other computer comprising and / or associated with a robotic kit-making system as described herein, such as the control computer 122 of Figure 1A. In the example shown, at 722, an indication is received that the alignment of the target receptacle is not as expected, e.g., as described above in relation to Figures 7A to 7C. At 724, the system updates a spatial mapping (e.g., the location and / or orientation coordinates of the target slots, to reflect the true orientation that has been determined for the receptacle). Figures 8A through 8E illustrate the placement of an item in a corresponding location within a receptacle in one modality of a robotic kit-making system. In the example shown, in the position depicted in Figure 8A, handle 140, 142, 144 is not initially fully aligned with cavities 146, 148. A robotic kit-making system as described herein can use force control, as described herein, to attempt to locate slot 146, 148 and insert handle 140, 142, 144 into the slot. However, as shown in Figure 8B, if the slot is directional, as in this example, and the target receptacle is flipped in the opposite direction to that expected, in some modality, the system will be unable to place the item using force control.For example, the system may not be able to find a position where the forces opposing the downward vertical movement are zero or at some other minimum level associated with successful placement of the item. In several embodiments, a robotic kit-making system as described herein is configured to detect, for example, that the receptacle is tipped over, by interpreting the forces detected in the condition shown in Figure 8B. As shown in Figure 8C, the system reorients its understanding of the position of the slots in the target receptacle from the positions shown in 802a to those shown in 802b.As shown in Figures 8D and 8E, the system concludes that it should be lifted, rotated 180 degrees based on the new mapping that the item, intended for slot / position 1 in this example (top left corner as shown in 802a), but which was initially attempted to be inserted in an inverted orientation in slot 8 (top left corner as shown in 802b), as shown in Figure 8D, and moved to the opposite corner (or other reassigned location) in the receptacle, and then inserted (e.g., using force control, as described above) into the originally intended location, the true position and orientation of which have been discovered as described above, as shown in Figure 8E. Using the techniques described herein, items can be selected and positioned for kit assembly, as in a manufacturing, shipping, or other operation, using a robotic kit creation system as described herein to ensure fast, efficient, accurate, and safe handling of kit assembly parts. Although the preceding embodiments have been described in some detail to facilitate understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The embodiments described are illustrative and not restrictive.
Claims
1. A robotic system for making kits, comprising: a communication interface; and a processor coupled to the communication interface and configured to: 1) move an item to a location associated with a slot into which the item is to be inserted; 2) receive through the communication interface force information generated by a force sensor; 3) use the force sensor information to align a structure comprising the item with a corresponding cavity comprising the slot; and 4) insert the item into the slot.
2. The system of claim 1, wherein the processor is further configured to grasp the article from a source receptacle.
3. The system of claim 1, wherein the processor is further configured to receive a high-level goal and to generate and implement a plan to achieve the high-level goal, including moving the item to the location.
4. The system of claim 1, wherein the processor is configured to move the item to the location using a position control.
5. The system of claim 1, wherein the slot is included in a destination receptacle.
6. The system of claim 5, wherein the corresponding cavity comprises a defined cavity in a substrate.
7. The system of claim 6, wherein the substrate comprises a foam or other insert.
8. The system of claim 1, wherein the cavity comprises a first cavity and the groove includes one or more cavities.
9. The system of claim 8, wherein one or more of the cavities has a shape or dimension that differs from one or more of the other cavities.
10. The system of claim 1, wherein the processor is configured to invoke a force control primitive to use force sensor information 5 to align the structure comprising the element with the corresponding cavity comprising the slot.
11. The system of claim 1, wherein the processor is configured to use information from the force sensor to align the structure comprising the article with the corresponding cavity comprising at least part of the slot that repositions the article in a location determined by a search algorithm and applying a downward vertical force.
12. The system of claim 1, wherein the processor is configured to detect, based at least in part on force sensor information, that a target receptacle with which location and slot 20 are associated is in a detected orientation that is different from an expected orientation.
13. The system of claim 12, wherein the processor is further configured to reassign position information for one or more slots comprising the target receptacle based, at least in part, on the detection that the target receptacle is in the detected orientation which is different from the expected orientation.
14. The system of claim 12, wherein the detected orientation is approximately 180 degrees different from the expected orientation, and the processor is configured to insert the item into the slot at least partially by removing the item, rotating it 180 degrees, and moving the item to a reassigned location associated with the slot.
15. A method comprising: controlling a robotic arm to move an item to a location near a slot into which the item is to be inserted; receiving, via the communication interface, force information generated by a force sensor; using the force sensor information to align a structure comprising the item with a corresponding cavity comprising the slot; and inserting the item into the slot.
16. The method of claim 15, further comprising receiving a high-level objective and generating and implementing a plan to achieve the high-level objective, including moving the item to the location.
17. The method of claim 15, wherein the article is moved to the location using a position control.
18. The method of claim 15, wherein the cavity is included in a destination receptacle and the corresponding cavity comprises a defined cavity in a substrate.
19. The method of claim 15, wherein the force sensor information is used to align the structure comprising the article with the corresponding cavity comprising at least part of the slot that repositions the article in a location determined by a search algorithm and applying a downward vertical force.
20. A product of a computer program contained on a non-transient, computer-readable medium comprising computer instructions for: controlling a robotic arm to move an item to a location near a slot into which the item is to be inserted; receiving, through the communication interface, force information generated by a force sensor; using the force sensor information to align a structure comprising the item with a corresponding cavity comprising the slot; and inserting the item into the slot.