Systems and methods for providing processing of various objects using motion planning

By integrating the sensing system and motion planning system in the programmable motion device, the problem of difficulty in automatically sorting and handling various objects in the prior art is solved, and efficient automatic sorting and processing in structured and messy environments is achieved.

CN113894826BActive Publication Date: 2025-03-11BERKSHIRE GREY OPERATING CO INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111244578.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2016-02-08
Filing Date
2017-02-08
Publication Date
2025-03-11
Estimated Expiration
2037-02-08

AI Technical Summary

Technical Problem

The prior art is difficult to efficiently and efficiently sort and process objects of various sizes, shapes and weights automatically, especially in structured and messy environments.

Method used

A processing system including a programmable motion device is provided, the system including an end effector, a perception system and a motion planning system. The end effector is used to identify and move objects, the perception system is used to identify the identity, position and orientation of the object, and the motion planning system is used to determine the trajectory path of the object from the input position to the processing position. The track path includes a changing portion of the object position or orientation specific to the input position, and a predetermined unchanged portion.

Benefits of technology

The ability to efficiently sort and handle various objects in structured and messy environments is realized, and the automation level and efficiency of the sorting system are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113894826B_ABST
    Figure CN113894826B_ABST
Patent Text Reader

Abstract

A processing system for providing processing of homogeneous and non-homogeneous objects in a structured and cluttered environment is disclosed. The processing system includes a programmable motion device including an end effector, a perception system for identifying any identity, position, and orientation of an object present in a plurality of objects at an input location, a grasping acquisition system for using the end effector to allow the object to be moved from the plurality of objects to one of a plurality of destination bins to obtain the object, and a motion planning system for determining a varying portion of a trajectory path of the end effector from the object to a base position proximate the input location and determining a non-varying portion of a trajectory path of the end effector from the base position to a destination bin position proximate the destination bin.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of application number 201780016848.5, application date February 8, 2017, and invention name “System and method for providing processing of various objects using motion planning”.

[0002] priority

[0003] This application claims priority to U.S. Provisional Patent Application No. 62 / 292,538, filed on February 8, 2016, and the entire disclosure of which is incorporated herein by reference. Background Art

[0004] The present invention relates generally to robotic and other sorting systems, and more particularly to programmable motion control systems intended for use in varying environments requiring a motion control system to adapt to handling a variety of objects in both homogeneous and heterogeneous arrangements.

[0005] Many order fulfillment operations achieve high efficiencies by using a dynamic process where orders are picked from warehouse shelves and placed in bins for downstream sorting. During the sorting phase, individual items are identified and multi-item orders are consolidated into a single bin or shelf location where they are picked and subsequently shipped to the customer. The process of sorting these items (or objects) has traditionally been done manually. A manual sorter picks the object from the incoming bin, locates the barcode on the object, scans the barcode with a handheld barcode scanner, determines the appropriate bin or shelf location for the object from the scanned barcode, and then places the object in the determined bin or shelf location where all objects for the order are placed.

[0006] However, each object must be individually handled and processed, requiring programmable motion devices to accommodate a wide range of objects of various sizes, shapes, and weights. Therefore, there is still a need for an object sorting and motion planning system for a programmable motion control system that can efficiently and effectively perform automatic sorting and processing of various objects. Summary of the invention

[0007] According to an embodiment, the present invention provides a processing system for providing processing of homogeneous and heterogeneous objects in structured and cluttered environments. The processing system includes a programmable motion device, the programmable motion device including an end effector, a perception system for identifying any identity, position and orientation of an object presented in a plurality of objects at an input location, a grasping acquisition system for obtaining the object using the end effector to allow the object to move from the plurality of objects to one of a plurality of processing locations, and a motion planning system for determining a trajectory path from the input location to one of the plurality of processing locations. The trajectory path includes at least one varying portion determined to be specific to the position or orientation of the object at the input location, and at least one non-varying portion generally used to determine the trajectory path for a plurality of objects.

[0008] According to another embodiment, the present invention provides a processing system for providing sorting of like and unlike objects in structured and cluttered environments. The processing system includes a programmable motion device including an end effector, a perception system for identifying any identity, position, and orientation of an object present in a plurality of objects at an input location, a grasping acquisition system for obtaining the object using the end effector to allow the object to move from the plurality of objects to one of a plurality of processing locations, and a motion planning system for determining a trajectory path from the input location to one of the plurality of processing locations. The trajectory path includes at least one varying portion that determines a position or orientation specific to the object at the input location, and at least one non-varying portion that is predetermined and not specific to the object, the position of the object, or the orientation of the object in the input area.

[0009] According to another embodiment, the present invention provides a method for providing processing of homogeneous and heterogeneous objects in structured and cluttered environments. The method includes the steps of acquiring an object from an input location using an end effector of a programmable motion device to allow the object to be moved from a plurality of objects to one of a plurality of processing locations, and determining a trajectory path of the end effector from the object to one of the plurality of processing locations. The trajectory path includes determining at least one varying portion specific to the position or orientation of the object at the input location, and at least one non-varying portion that is predetermined and not specific to the object, the position of the object, or the orientation of the object in the input region. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The following description may be further understood with reference to the accompanying drawings, in which:

[0011] Figure 1 An exemplary schematic diagram of a system according to an embodiment of the present invention is shown;

[0012] Figure 2 It shows that Figure 1 An exemplary photographic view of an image captured by a sensing device in the illustrated system;

[0013] Figure 3 An exemplary schematic diagram showing various stations in an object processing system according to an embodiment of the present invention is shown;

[0014] Figure 4 Shows Figure 3 An exemplary schematic diagram of a system showing possible trajectory paths;

[0015] Figure 5 Shows Figure 3 An exemplary schematic diagram of a system of showing additional possible trajectory paths and connections through a network such as the Internet;

[0016] Figure 6 Shows Figure 3 An exemplary schematic diagram of a system for mapping trajectory paths for a plurality of sorting stations to achieve minimum time;

[0017] Figure 7 Shows Figure 3 An exemplary schematic diagram of a system for mapping trajectory paths for a plurality of sorting stations to achieve minimum risk;

[0018] Figure 8 The system includes an additional processing unit. Figure 3 An exemplary schematic diagram of a system;

[0019] Fig. 9 shows the motion planning including bin removal Figure 3 An exemplary schematic diagram of a system;

[0020] Fig.10 The diagram shows the motion planning including box removal and empty box conveyor. Figure 3 An exemplary schematic diagram of a system;

[0021] Fig.11 shows an exemplary schematic diagram of a system according to a further embodiment of the present invention involving a plurality of processing stations;

[0022] Fig.12 shows an exemplary schematic diagram of a system according to a further embodiment of the present invention involving a plurality of processing stations communicating over a network such as the Internet;

[0023] Fig.13 An exemplary schematic diagram of a robotic system using motion planning according to an embodiment of the present invention is shown;

[0024] Figures 14A to 14C shows a method of grasping and moving an object according to an embodiment of the present invention. Fig.13 An exemplary schematic diagram of an end effector;

[0025] Fig.15An exemplary schematic diagram showing the use of an end effector including a feedback sensor in a system according to some embodiments of the present invention;

[0026] Fig.16 A method of grasping an object according to a further embodiment of the present invention is shown. Fig.13 An exemplary schematic diagram of an end effector;

[0027] Fig.17 shows a moving object according to a further embodiment of the present invention Fig.16 An exemplary schematic diagram of an end effector of ; and

[0028] Fig.18 shows the placement of an object at a target location with a desired orientation Fig.16 An exemplary schematic diagram of an end effector.

[0029] The drawings shown are for illustrative purposes only. DETAILED DESCRIPTION

[0030] The systems of various embodiments of the present invention combine the automated portion of the sorting process with a programmable motion control system (e.g., a linear index pick and place system, an unmanned system, or any of a wide range of various robotic systems including articulated arm robotic systems, concentric tube robotic systems, and parallel arm (Delta arm) robotic systems). In particular, the systems of various embodiments of the present invention include the steps of identifying and moving the picked objects. The programmable motion control system picks the object from the input area, passes the object close to the scanner, and then places the object in the appropriate location according to the manifest after obtaining the object's identification information (e.g., a barcode, QR code, SKU code, other identification code, information read from the object's label, or size, weight and / or shape information).

[0031] According to certain embodiments, the present invention provides a novel motion planning system for efficiently and effectively moving a single object to a set of destination locations (e.g., sorting locations). In applications such as order fulfillment, objects (articles or goods, etc.) are collected into heterogeneous collections and need to be sorted. It is necessary to identify the individual objects and then travel to the location of the specific object. According to certain embodiments, by using an automated programmable motion (e.g., robotic) system and motion planning, the system reliably and automatically controls the movement of these objects.

[0032] refer to Figure 1 , discloses important components of an automated processing (eg, robotic sorting) system according to an embodiment of the present invention. Figure 1A programmable motion system 10 (e.g., a robotic system) is shown, which includes an articulated arm 12, which includes an end effector 14 and articulated portions 16, 18, and 20. The articulated arm 12 picks an object from an input area (e.g., a conveyor belt 22), which is in an input box on the conveyor belt 22 or on the conveyor belt itself. A support 24 includes an attached perception unit 26 that is guided from above the conveyor belt to the conveyor belt. For example, the perception unit 26 can be a 2D or 3D camera, or a scanner such as a laser reflection scanner or other type of barcode reader, or a radio frequency ID scanner. An image display system as shown at 28 is also provided for providing an image of the view of the perception unit on a touch screen input device. The robotic system 10 can further include a robotic environment and a target station 30, which includes a plurality of processing locations 32 (e.g., sorting bins), in which objects can be placed after identification. The central computing and control system 34 may be in communication with the sensing unit 26 and the image display system 28 and with the articulated arm 12 via wireless communications, or in some embodiments may be provided in the base portion 20 of the articulated arm.

[0033] In an embodiment the system provides an automated item identification system comprising a robotic pick and place system capable of picking out items, moving them around in a space and placing them. The system may also include: a set of objects to be identified themselves, a way in which inbound objects are organized (usually in heterogeneous piles in bins or on lines on conveyor belts), a way in which outbound objects are organized (usually in arrays of outbound bins or shelf cabinets), a way in which objects are tagged with bar codes or RFID tags, a fixed main scanner that runs over the incoming stream of objects, a scanning station where one or more scanners and illuminators are activated when an object is in the station, and a central computing and control system that determines a suitable location to place an object (which depends on the bar code decoded by the object).

[0034] As previously described, the robotic pick and place system may include a robotic arm equipped with sensors and computing that, when combined as assumed herein, have the following capabilities: (a) it is able to pick objects from a particular object class and separate them from a heterogeneous stream of objects, regardless of whether the objects are mixed in a bin or singly on a mechanical or gravity conveyor system; (b) it is able to move objects to arbitrary locations in its workspace; (c) it is able to place objects in an outflow bin or shelf location in its workspace; and, (d) it is able to generate a map of objects that can be picked, represented as a set of candidate grip points in a workcell, and a list of polyhedrons that enclose the objects in space.

[0035] Permissible objects are determined by the capabilities of the robotic pick and place system. Their size, weight, and geometry are assumed to be such that the robotic pick and place system is able to pick, move, and place them. These can be any type of ordered merchandise, packages, parcels, or other items that benefit from automated sorting. Each object is associated with a Universal Product Code (UPC) or other unique object identifier that identifies the item or provides information (such as an address) that points to the object's handling.

[0036] As discussed above, the system of an embodiment includes a perception system 26 mounted above the bin of objects to be sorted and looking down into the bin. A combination of 2D and 3D (depth) data is acquired. The system uses these images and various algorithms to generate a set of candidate grasping locations for the objects in the bin.

[0037] Figure 2 A schematic image of a camera view from the perception unit 26 is shown and may appear in Figure 1 The image display system 28 is shown with an overlay image of the end effector attempting to grasp each object 40, 42, 44, 46, 48, 50, 52 and 54 in a bin 56 showing each grasp position. Candidate grasp positions 58 are displayed using a 3D model of the robot end effector, which is placed where the actual end effector will be used as shown in FIG. Figure 2 The image shows several gripping locations 58 that would be considered good (e.g., they are close to the center of mass of the object to provide better stability during gripping and transportation), and they avoid locations on the object such as lids, seams, etc., where a good vacuum seal cannot be obtained. The image also shows two gripping locations 60 that are not good gripping locations, where the perception system cannot accurately perceive the object 54, and in particular cannot perceive another object 48 located on top of the object 54.

[0038] According to various embodiments, the present invention provides a programmable motion system that can learn object grasping positions from experience and human guidance. For example, most robotic systems are designed to locate objects and pick them out, relying on a series of sensors to give the system information about the location, size, posture and even identity of the object. These systems designed to work in the same environment as human workers will be faced with a huge variety of different objects, postures, etc. 2D / 3D images combined with human-selected grasping points can be used as input to machine learning algorithms to help the robotic system learn how to handle such cases in the future, thereby reducing the need for operator assistance over time. Obtaining a combination of 2D and 3D (depth) data, the system uses this image and various algorithms to generate a set of candidate grasping points for the objects in the box.

[0039] In addition to geometric information, the system can learn the location of fiducial markers such as bar codes on the object, which can be used as indicators of flat and impermeable surface patches, and therefore suitable for suction cups. One such example is shipping boxes and bags, which often have shipping labels at the center of mass of the object and provide an impermeable surface that is not well gripped, as opposed to the raw bag material, which may be slightly porous. According to a further example, the fiducial marker itself may not be a target, but can provide a reference for finding a target grasping position. For example, once a product is identified and its orientation is known, certain distances (e.g., x, y) from the fiducial marker can be used as optimized grasping positions.

[0040] A robotic system can perform motion planning using a trajectory database that is dynamically updated over time and indexed by client metrics. The problem domain contains a mixture of changing and non-changing parts of the environment. For example, objects presented to the system are often presented in arbitrary configurations, but the target location where the object will be placed is usually fixed and does not change throughout the operation.

[0041] One use of the trajectory database is to exploit the unchanging portions of the environment by pre-computing and saving into database trajectories that efficiently and reliably move the system through these spaces. Another use of the trajectory database is to continually improve the performance of the system over its operational lifetime. The database is in communication with a planning server that continually plans trajectories from various origins to various destinations to provide a large number of different sets of trajectories for achieving any particular task. In various embodiments, the trajectory path may include any number of changing and unchanging portions that, when combined, provide an optimal trajectory path in an efficient time.

[0042] For example Figure 3 A diagrammatic view of a robotic sorting system 70 is shown including a conveyor belt 72 for providing input bins 56, 74, 76 to a sorting station in the direction shown at A. The robotic system is schematically shown at 80 and includes an end effector 82 for moving objects from an input bin (e.g., 56) to a processing location (e.g., a destination bin 86, 88, 90, 92, 94, 96, 98, 100, 102). Once emptied, the empty bin 77 continues on the conveyor belt 72.

[0043] The robotic system may include a defined starting or base position 84 to which each object may initially be taken from a bin (e.g., 56). In certain embodiments, the system may include multiple base positions, and multiple predetermined path portions associated with the multiple base positions. The trajectory taken by the robotic system's articulated arm from the input bin to the base position 84 varies, based in part on the position of each object in the input bin, the orientation of the objects in the input bin, and the shape, weight, and other physical characteristics of the objects to be taken.

[0044] Once the articulated arm has acquired the object and is located at the base position, the path of each of the destination boxes 86-102 is unchanged. In particular, each destination box 86-102 is associated with a unique destination box position 106, 108, 110, 112, 114, 116, 118, 220, 222, and the trajectory from the base position 84 to each of the destination box positions is unchanged. For example, the trajectory can be a specification of the movement of a programmable motion device over time. According to various embodiments, these trajectories can be generated by experience, people who train the system, and / or automated algorithms. For an unchanged trajectory, the shortest distance is the diameter path to the target destination box, but the articulated arm is composed of articulated parts, joints, motors, etc. that provide a specific range of motion, speed, acceleration, and deceleration. Due to this, the robotic system can adopt any of a variety of trajectories between, for example, the base position 84 and the destination box position 106.

[0045] For example, Figure 4 Three such trajectories (1T) between the base position 84 and the destination bin position 106 are shown. 1 , 2T 1 and 3T 1 ). Figure 4 The components and Figure 3 Each trajectory will have an associated time and an associated risk factor. The time is the time it takes for the articulated arm of the robotic system to accelerate from the base position 84 toward the destination box 86 and decelerate to the destination position 106 in order to place the object in the destination box 86.

[0046] This risk factor can be determined in a variety of ways, including whether the trajectory includes high acceleration (as predefined) or deceleration (linear or angular) at any point during the trajectory. The risk factor can also include any likelihood that the articulated arm may encounter (run into) anything in the robotic environment. Further, the risk factor can also be defined based on learned knowledge information from experience with the same type of robotic arms in other robotic systems moving the same object from a base position to the same destination position.

[0047] like Figure 4 As shown in the table at 130, the trajectory 1T from the basic position 84 to the destination position 106 1 (as shown at 132) may have the fastest time (0.6s) but the highest risk factor (18.2). Trajectory 2T from base location 84 to destination location 106 1 (as shown at 134) has a much slower time (1.4s) but still a fairly high risk factor (16.7). Trajectory 3T from base location 84 to destination location 106 1(as shown at 136) has a relatively fast time (1.3s) and a medium risk factor (11.2). The option of taking the fastest trajectory is not always the best, as sometimes the fastest trajectory may have an unacceptably high risk factor. If the risk factor is too high, valuable time may be lost to maintain acquisition of the object due to a malfunction of the robotic system.

[0048] Figure 5 Shown is a reference Figure 4 The three trajectories discussed to the destination box position 106 (1T 1 , 2T 1 , 3T 1 ) and two additional trajectories (4T 1 , 5T 1 ).exist Figure 5 In the system, the local control system 146 can be communicatively connected to one or more remote databases 148 via a network such as the Internet. Figure 5 The components and Figure 4 Moreover, each trajectory will have an associated time and an associated risk factor. Figure 5 As shown in the table at 140, the trajectory 4T from the basic position 84 to the destination position 106 1 (as shown at 142) may have the fastest time (0.4s) and a medium risk factor (13.2). Trajectory 5T from base location 84 to destination location 106 1 Has a relatively fast time (1.1s) and a very low risk factor (6.4).

[0049] For example, Figure 6 The minimum time selection trajectory from the base position 84 to each of the destination box positions 106-122 is shown. In particular, the time and risk factor for multiple destination boxes (e.g., 1-3) are shown in the table at 150, and the trajectory is selected from the base position 84 to each of the destination box positions 106, 108 and 110 (as shown at 152, 154 and 156, respectively) to provide the minimum time for motion planning at a risk factor of 14.0. Similarly, the trajectory is selected from the base position 84 to each of the destination box positions 112, 114 and 116 (as shown at 158, 160 and 162, respectively) to provide the minimum time for motion planning at a risk factor of 14.0. And the trajectory is selected from the base position 84 to each of the destination box positions 118, 120 and 122 (as shown at 164, 166 and 168, respectively) to provide the minimum time for motion planning at a risk factor of 14.0.

[0050] Figure 7A set of trajectories selected from the base position 84 to the minimum risk factor for each of the destination bin positions 106-122 is shown. In addition, the table at 150 shows the time and risk factor for multiple destination bins (e.g., 1-3). Trajectories are selected from the base position 84 to each of the destination bin positions 106, 108, and 110 (as shown at 172, 174, and 176, respectively) to provide the minimum risk factor for motion planning at a maximum time of 1.2 seconds for motion planning. Similarly, trajectories are selected from the base position 84 to each of the destination bin positions 112, 114, and 116 (as shown at 178, 180, and 182, respectively) to provide the minimum risk factor for motion planning at a maximum time of 1.2 seconds for motion planning, and trajectories are selected from the base position 84 to each of the destination bin positions 118, 120, and 122 (as shown at 184, 186, and 188, respectively) to provide the minimum risk factor for motion planning at a maximum time of 1.2 seconds for motion planning.

[0051] The choice of fast time with low risk factor can be determined in different ways, for example, by selecting the fastest time with a risk factor below an upper risk factor limit (e.g., 12 or 14), or by selecting the smallest risk factor with a maximum time below an upper limit (e.g., 1.0 or 1.2). Moreover, if the risk factor is too high, a malfunction of the robotic system may lose valuable time to maintain acquisition of the object. One advantage of the variant set is robustness to minor changes in the environment and to objects of different sizes that the system may be handling: instead of replanning in these cases, the system iterates through the database until a collision-free, safe, and robust trajectory is found for the new situation. The system can thus generalize to different environments without the need to replan motions.

[0052] Further, according to some embodiments, Figure 7 The system can be used in the reverse order. In other words, the programmable motion system can be used to collect the desired objects from the boxes 86-102 and place them in combined sets or packages (unpacks) on the conveyor. Such unpacks can generally contain a specific number of desired products for various purposes. In such a system, the planned motion will be used when necessary, but the pre-planned trajectory portion extracted from the database will be used as much as possible to save computing time.

[0053] Figure 8 Shows something like Figure 7 processing system, except Figure 8The system includes an additional processing unit 190 such as a labeler. When a product is picked from a case (changing format), it can be brought to the first home location 84 and then moved to the processing unit 190. Once processed, the processing unit 190 then serves as a second home location, and an unchanged path from the processing unit 190 to the various cases can be selected as described above.

[0054] Thus, the entire trajectory may include any number of changing and unchanged parts. For example, a network of unchanged trajectory parts can be used as a general path (road), while the changing parts can be directed to nearby objects through unchanged parts (shortcuts) so as to move objects without planning the entire route. For example, before moving to the destination, a programmable motion device (such as a robot) may require the object to be grasped to be oriented in front of an automatic labeling machine. Thus, the trajectory of the sorted object will consist of the following trajectory parts. First, the grasping posture to the original position (planned movement). Subsequently, from the original position to the home position of the automatic labeling machine (extracted from the trajectory database). Subsequently, from the home position of the automatic labeling machine to the labeling posture (planned movement). Subsequently, from the labeling posture to the home position of the automatic labeling machine (planned movement or just the inverted previous motion planning step). Subsequently, from the home position of the automatic labeling machine to the planned destination (extracted from the trajectory database). A variety of changing and unchanged (planned and extracted from the database) parts can be used in the entire trajectory. According to a further embodiment, the object may be grasped from a specific pose (planned) and when the object reaches the destination bin (from the trajectory database), the final step may again be to place the object in the desired pose (planned) in the destination bin.

[0055] According to further embodiments, each programmable motion system 80 may be provided with multiple home positions, and a motion path may be identified from each home position in various embodiments. According to further embodiments, multiple processing stations may be provided. Thus, in some embodiments, the system may use motion planning to plan a shorter overall distance by requiring the system to plan a path from an object grasping posture to the closest home position of a number (e.g., a grid) of home positions.

[0056] refer to Fig. 9 The system may also provide empty boxes 77 that are removed from the conveyor belt 72 and stacked as shown, and reference Fig.10 , the system may instead place the empty box 77 on a conveyor 79 which carries the empty box away from a programmable motion device 80 as shown. In each of these alternative systems, the motion of the end effector of the programmable motion device that moves the box may also involve determining the position for the empty box to be moved from the input position to the stacking position ( Fig. 9 ) or to the empty box conveyor belt 79 ( Fig.10). The trajectory path for the empty bin includes at least one varying portion determined to be specific to the bin's position or orientation at the input location, and at least one non-varying portion that is generally used to determine trajectory paths for multiple bins. In other words, the same type of motion planning can be used to process the empty input bin 77.

[0057] For example Fig.11 A multi-stage robotic handling system 200 is shown that includes a plurality of robotic handling stations 202, 204, 206, each of which includes a robotic system 210 that obtains objects from a single input conveyor 208. Each robotic handling station 202, 204, 206 includes a defined robotic system base position 212 and a plurality of destination bins 214 into which objects from an input bin 216 can be placed. Each destination bin includes a defined destination bin position as described above, and each sorting system also includes a local processor 218. Each local processor 218 is communicatively connected to a central processor 220, which includes a database to provide feedback and learning information about the experience of moving objects along different trajectories. As the database acquires more data points, the system should become more efficient and robust. Thus, by indexing all stations to the same database or data set, different systems running at different locations can have a common infrastructure for sharing information and planning paths.

[0058] Another advantage of variant sets is the ability to handle multiple client metrics without the need to re-plan motions. The database is sorted and indexed by client metrics such as time, robustness, safety, distance to obstacles, etc., and given a new client metric, all the database needs to do is re-evaluate the metric on existing trajectories, thereby re-sorting the list of trajectories and automatically generating the best trajectory that meets the new client metric without the need to re-plan motions.

[0059] Another advantage is that even if they are invalidated due to changes in the environment or customer metrics, these stored trajectories can be used as seeds for trajectory optimization algorithms, thus accelerating the generation of new trajectories for new situations.

[0060] Another advantage is that databases provide a mechanism for different systems to share information remotely or over a network such as the Internet. Fig.12A multi-stage robotic processing system 300 is shown that includes a plurality of robotic processing stations 302, 304, 306, and 308, each processing station including a robotic system 310 that obtains objects from an input conveyor. Each robotic processing station 302, 304, 306, 308 includes a defined robotic system base position 312 and a plurality of destination bins 314 into which objects from an input bin 316 can be placed. Each destination bin includes a defined destination bin position as described above, and each processing system also includes a local processor 318. Each local processor 318 is communicatively connected to a central processor 320, which includes a database to provide feedback and learning information about the experience of moving objects along different trajectories. The robotic processing stations 302, 304, 306, 308 can be at remote locations and communicatively connected to the central processor (and each other) via a wireless network such as the Internet 322. As the database acquires more data, the system should become more efficient and robust. Thus, by all indexing to the same database or data set, different systems running in different locations can have a common infrastructure for sharing information and planning paths.

[0061] The motion planning system of the present invention may also be adapted to achieve other goals such as reducing shear forces between the clamp and the object or moving an object that is open at the top. Fig.13 A programmable motion system 350, such as a robotic system, is shown having an articulated arm 352 and an end effector 354 including a vacuum cup 356 for engaging an object 358. Fig.14A , when lifting object 358, gravity (F g ) acts on an object, and if the object moves rapidly in a direction transverse to gravity, the shear force (F s ) will act on the object relative to the vacuum cup 356. The vacuum clamp can withstand tension forces higher than shear forces, and in the embodiments (and reference Fig. 14B and 14C ), when it starts to rotate ( Fig. 14B )The articulated arm can lift objects so that when the object is rotated quickly ( Fig. 14C ), a centrifugal force (F c ), keep the vacuum cup under tension (F t ) on an object. For example, this system may be particularly well suited for applications where the vacuum cup encounters a heavy object. Thus, information about the size, shape and weight of the object (and its destination) is also likely to influence the selected trajectory.

[0062] refer to Fig.15According to further embodiments, the system may include an articulated arm 400 attached to an end effector 402, which may be, for example, a tubular or conical bellows. The end effector 402 also includes a sensor 404, a bracket 408 attached to the magnetic field sensor 404, and a magnet 412 mounted on the articulated arm 400. When the bellows moves in any of three directions (e.g., toward and away from the articulated arm as illustrated at Z, in a direction transverse to the direction Z as illustrated at X, and transverse to both directions Z and X as illustrated at Y), the magnetic field sensor 404 may be communicatively coupled (e.g., wirelessly) to a controller 410, which may also be communicatively coupled to a flow monitor 414 to determine whether the high flow grasping of the object is sufficient to continue grasping and transporting, as discussed further below. For example, in certain embodiments, if the air flow is insufficient to carry the load, the system may retract the object, or may increase the air flow to safely maintain the load.

[0063] In some embodiments, the end effector can be a tubular or conical bellows. The magnetic field sensor can be communicatively coupled to a controller (e.g., wirelessly), which can also be communicatively coupled to a flow monitor, as discussed further below, to determine whether the high flow grasping of the object is sufficient to continue grasping and transporting. For example, in some embodiments, if the air flow is insufficient to carry the load, the system can retract the object, or the air flow can be increased to safely maintain the load.

[0064] According to further embodiments, the system of the present invention can provide motion planning adapted to specific needs or requirements so that an open container or box can be moved without spilling the contents. For example, Fig.16 An end effector 450 of a programmable motion device 456 is shown engaging an open box 452 of items using a vacuum suction cup 454. Fig.17 As further shown, when the programmable motion device moves the opened box 452, the orientation relative to the vertical axis is maintained, and as shown in FIG. Fig.18 As shown, the programmable motion device can place the object 452 on the surface 458 at the processing location in the desired orientation.

[0065] Those skilled in the art will appreciate that many modifications and changes can be made to the above disclosed embodiments without departing from the spirit and scope of the present invention.

Claims

1. A method for processing an object, the method comprising: storing in a trajectory database a plurality of predetermined path segments for moving an end effector of the articulated arm between a base position and a target position, the trajectory database further storing a predetermined risk factor and a predetermined time factor for each of the plurality of predetermined path segments; obtaining identification information of an object present among a plurality of objects at an input position; Determine a target position from a plurality of target positions based on the obtained identification information of the object; Using the end effector to acquire the object at the input location; ranking a plurality of predetermined path segments for moving an end effector of the articulated arm from a base position to a target position according to at least one of a predetermined risk factor and a predetermined time factor; selecting one of a plurality of predetermined path segments that meets at least one of a risk requirement and a time requirement; and Using an end effector of the articulated arm, the acquired object is moved from an input position via a base position to a target position along a trajectory path including a selected one of a plurality of predetermined path segments from the base position to the target position.

2. The method of claim 1, further comprising storing in the trajectory database a plurality of other predetermined path segments for moving the end effector of the articulated arm from the base position to other target positions.

3. The method according to claim 1, wherein: The predetermined time factor for each of the plurality of predetermined path segments stored in the trajectory database includes a time required to move the end effector of the articulated arm from a base position to a target position.

4. The method according to claim 1, wherein: The predetermined risk factor stored in the trajectory database for each of the plurality of predetermined path segments includes a collision likelihood associated with an end effector of the articulated arm moving from a base position to a target position.

5. The method according to claim 1, wherein: A selected one of a plurality of predetermined path segments from a base position to a target position is determined as a path having a required minimum time associated with movement of the end effector from the base position to the target position and having a predetermined risk factor that is lower than a predetermined maximum risk factor.

6. The method according to claim 1, wherein: A selected one of a plurality of predetermined path segments from the base position to the target position is determined as a path having a lowest risk factor associated with movement of the end effector from the base position to the target position and having a predetermined time factor that is less than a predetermined maximum time.

7. The method according to claim 1, wherein: At least one of a predetermined time factor and a predetermined risk factor is set for each of the plurality of predetermined path segments through experience with the articulated arm and the end effector.

8. The method according to claim 1, wherein: At least one of a predetermined time factor and a predetermined risk factor for each of a plurality of predetermined path segments is set through knowledge information learned from the plurality of articulated arms.

9. The method according to claim 1, wherein: The input location includes an input box disposed on an input conveyor.

10. A method for processing an object, the method comprising: storing in a trajectory database a plurality of predetermined path segments for moving an end effector of the articulated arm between a base position and a target bin, the trajectory database further storing a plurality of metrics for each of the plurality of predetermined path segments; Get the object from the input bin using the end effector; ordering a plurality of predetermined path segments for moving an end effector of the articulated arm from a base position to a target bin based on at least one of a plurality of metrics; selecting one of a plurality of predetermined path segments that optimizes at least one metric; and Using an end effector of the articulated arm, the acquired object is moved from an input bin via a base location to a target bin along a trajectory path including a selected one of a plurality of predetermined path segments from the base location to the target bin.

11. The method of claim 10, further comprising storing in the trajectory database a plurality of other predetermined path segments for moving the end effector of the articulated arm from the base position to other target bins.

12. The method according to claim 10, wherein: The plurality of metrics stored in the trajectory database for each of the plurality of predetermined path segments include a time required to move an end effector of the articulated arm from a base position to a target bin.

13. The method according to claim 10, wherein: The plurality of metrics stored in the trajectory database for each of the plurality of predetermined path segments includes a risk factor associated with movement of the end effector of the articulated arm from the base position to the target bin.

14. The method according to claim 10, wherein: A selected one of a plurality of predetermined path segments from the base position to the target box is determined as a path having a required minimum time associated with movement of the end effector from the base position to the target box and having a risk factor below a predetermined maximum risk factor.

15. The method according to claim 10, wherein: A selected one of a plurality of predetermined path segments from the base position to the target bin is determined as a path having a lowest risk factor associated with movement of the end effector from the base position to the target bin and having a time factor below a predetermined maximum time.

16. The method according to claim 10, wherein: Through experience with the articulated arm and end effector, a plurality of metrics are set for each of a plurality of predetermined path segments.

17. The method according to claim 10, wherein: A plurality of metrics for each of a plurality of predetermined path segments are set using knowledge information learned from a plurality of processing systems.

18. A method of processing an object, the method comprising: storing in a trajectory database a plurality of predetermined path segments for moving an end effector of the articulated arm between a first fixed position and a second fixed position, the trajectory database further storing a plurality of metrics for each of the plurality of predetermined path segments; acquiring the object from a third location using an end effector of the articulated arm; ranking a plurality of predetermined path segments for moving an end effector of the articulated arm from a first fixed position to a second fixed position based on at least one of a plurality of metrics; selecting one of a plurality of predetermined path segments that optimizes at least one metric; and Using the end effector of the articulated arm, the acquired object is moved from the third position to the second fixed position along a trajectory path including a selected path segment from the first fixed position to the second fixed position.

19. The method according to claim 18, wherein: The plurality of metrics stored in the trajectory database for each of the plurality of predetermined path segments includes a time required to move the end effector from a first fixed position to a second fixed position.

20. The method according to claim 18, wherein: The plurality of metrics stored in the trajectory database for each of the plurality of predetermined path segments includes a risk factor associated with movement of the end effector from the first fixed position to the second fixed position.

21. The method according to claim 18, wherein: A selected one of a plurality of predetermined path segments from the first fixed position to the second fixed position is determined as a path having a required minimum time associated with movement of the end effector from the first fixed position to the second fixed position and having a predetermined risk factor that is less than a predetermined maximum risk factor.

22. The method according to claim 18, wherein: A selected one of a plurality of predetermined path segments from the first fixed position to the second fixed position is determined as a path having a lowest risk factor associated with movement of the end effector from the first fixed position to the second fixed position and having a time factor below a predetermined maximum time.

23. The method according to claim 18, wherein: Through experience with the articulated arm and end effector, a plurality of metrics are set for each of a plurality of predetermined path segments.

24. The method according to claim 18, wherein: A plurality of metrics for each of a plurality of predetermined path segments are set using knowledge information learned from the plurality of articulated arms.

25. The method of claim 18, wherein: The third location includes an input box disposed on the input conveyor.

Citation Information

Patent Citations

  • Multi-goal path planning of welding robots with automatic sequencing

    CN102203687A

  • Systems and methods for providing processing of a variety of objects employing motion planning

    CN108778636A

  • Apparatus for the automated removal of workpieces arranged in a container

    US20150352717A1