System and method for dynamically assigning collision clearance distances for motion of a robot

The method of dynamically assigning collision clearance distances through virtual environment simulation addresses the inefficiencies of conventional methods, enabling collision-free robotic arm motion and enhancing the picking process efficiency.

WO2026003551A1PCT designated stage Publication Date: 2026-01-02ABB (SCHWEIZ) AG
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2024/056131
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-24
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

Conventional collision clearance distances for robotic arms limit motion efficiency and lead to picking failures due to collisions with workspace obstructions, making the picking process slow and inefficient.

Method used

A method and system for dynamically assigning collision clearance distances by simulating a virtual environment, allowing for the generation of customized clearance distances based on potential collision points, and updating the virtual representation of the workspace to create a collision-free path for the robotic arm.

Benefits of technology

Enhances the efficiency of the robot's picking process by avoiding collisions and ensuring smooth object transfer between workspaces, thereby reducing picking failures and improving operational speed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2024056131_02012026_PF_FP_ABST
    Figure IB2024056131_02012026_PF_FP_ABST
Patent Text Reader

Abstract

A method for assigning collision clearance distances for a robot picking up objects in a collision free manner is provided. A virtual environment is simulated that includes representations of the robot, a first workspace that indicates the objects, and a second workspace. A simulated path taken by the robot to pick up a virtual representation of an object from the first workspace and place the object at the second workspace is generated. Based on the simulated path, a first and a second collision clearance distances are received such that the robot avoids a first and a second edge of the first workspace, where the second collision clearance distance is different from the first clearing distance. Based on the simulated path and the first and second collision clearance distances, the robot is controlled to pick up the object from the first workspace and place the object at the second workspace.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHOD FOR DYNAMICALLY ASSIGNING COLLISIONCLEARANCE DISTANCES FOR MOTION OF A ROBOTFIELD

[0001] The present disclosure relates to a bin picking system. In particular, the present disclosure relates to dynamically assigning collision clearance distances for a motion of a robotic arm for a robot.BACKGROUND

[0002] Conventionally, when robots are configured to pick up objects from a workspace, a standard collision clearance distance is set so that a robotic arm of the robot does not collide with obstructions around the workspace. A standard collision clearance distance severely limits the motion of the robot and makes the picking up of objects slow and inefficient. Additionally, a standard clearing distance may also lead to collisions of the robot with the obstructions around the workspace, leading to picking failures. A way is needed to avoid picking failures and increase the efficiency of the robot picking process.SUMMARY

[0003] A first aspect of the present disclosure provides a method for dynamically assigning collision clearance distances for a robot picking up a plurality of objects in a collision free manner, the method comprising: simulating, by a controller, a virtual environment, wherein the virtual environment comprises a first virtual representation of the robot, a second virtual representation of a first workspace that indicates the plurality of objects, and a third virtual representation of a second workspace; generating, by the controller and in the virtual environment, a simulated path taken by the robot to pick up a virtual representation of an object of the plurality of objects from the first workspace and place the object at the second workspace; receiving, by the controller and based on the simulated path, a first collision clearance distance such that the robot avoids a first edge of the first workspace; receiving, by the controller and based on the simulated path, a second collision clearance distance such that the robot avoids a second edge of the first workspace, wherein the second collision clearance distance is different from the first clearing distance; and controlling, by the controller and based on the simulated path, the first collision clearancedistance, and the second collision clearance distance, the robot to pick up the object from the first workspace and place the object at the second workspace.

[0004] According to an implementation of the first aspect, the method further comprises: determining whether the simulated path is collision free; and based on determining that the simulated path is not collision free, the first collision clearance distance is received by the controller.

[0005] According to an implementation of the first aspect, the simulated path comprises potential collision points between the robot and the first workspace.

[0006] According to an implementation of the first aspect, the method further comprises: based on the first clearing distance and the second clearing distance, generating, by the controller, an updated simulated path; and based on determining that the updated simulated path is collision free, controlling the robot to pick up the object from the first workspace and place the object at the second workspace.

[0007] According to an implementation of the first aspect, the first collision clearance distance is received in a three-dimensional (3D) format.

[0008] A second aspect of the present disclosure provides a method for generating a display for dynamically assigning collision clearance distances for a robot picking up a plurality of objects in a collision free manner, the method comprising: simulating, by a controller, a virtual environment, wherein the virtual environment comprises a first virtual representation of the robot, a second virtual representation of a first workspace that indicates the plurality of objects, and a third virtual representation of a second workspace; generating, by the controller and in the virtual environment, a simulated path taken by the robot to pick up a virtual representation of an object of the plurality of objects from the first workspace and place the object at the second workspace; receiving, by a user interface of the controller and based on the simulated path, a first collision clearance distance such that the robot avoids a first edge of the first workspace; modifying, by the controller and based on the first collision clearance distance, the second virtual representation of the first workspace; and controlling, by the controller and based on the simulated path, the first collision clearance distance, and of the first workspace, the robot to pick up the object from the first workspace and place the object at the second workspace.

[0009] According to an implementation of the second aspect, the user interface of the controller is generated based on determining that the simulated path is not collision free.

[0010] According to an implementation of the second aspect, the first collision clearance distance is received in a three-dimensional (3D) format.

[0011] According to an implementation of the second aspect, modifying the second virtual representation of the first workspace comprises adding a collision clearance region above the second virtual representation of the first workspace that represents an area covered by the first collision clearance distance.

[0012] According to an implementation of the second aspect, the method further comprises: determining whether the simulated path is collision free; and based on determining that the simulated path is not collision free, the first collision clearance distance is received by the controller.

[0013] According to an implementation of the second aspect, the simulated path comprises potential collision points between the robot and the first workspace.

[0014] A third aspect of the present disclosure provides a system for dynamically assigning collision clearance distances for a robot picking up a plurality of objects in a collision free manner, the system comprising: the robot; a first workspace that includes the plurality of objects; a second workspace; and a controller configured to: simulate a virtual environment, wherein the virtual environment comprises a first virtual representation of the robot, a second virtual representation of the first workspace that indicates the plurality of objects, and a third virtual representation of the second workspace; generate, in the virtual environment, a simulated path taken by the robot to pick up a virtual representation of an object of the plurality of objects from the first workspace and place the object at the second workspace; receive, by a user interface of the controller and based on the simulated path, a first collision clearance distance such that the robot avoids a first edge of the first workspace; modify, based on the first collision clearance distance, the second virtual representation of the first workspace; and control, based on the simulated path, the first collision clearance distance, and of the first workspace, the robot to pick up the object from the first workspace and place the object at the second workspace.

[0015] According to an implementation of the third aspect, the controller is further configured to: determine whether the simulated path is collision free; and based on determining that the simulated path is not collision free, the first collision clearance distance is received by the controller.

[0016] According to an implementation of the third aspect, the simulated path comprises potential collision points between the robot and the first workspace.

[0017] According to an implementation of the third aspect, the controller is further configured to: based on the first clearing distance and the second clearing distance, generate, by the controller, an updated simulated path; and based on determining that the updatedsimulated path is collision free, control the robot to pick up the object from the first workspace and place the object at the second workspace.

[0018] According to an implementation of the third aspect, the first collision clearance distance is received in a three-dimensional (3D) format.BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Subject matter of the present disclosure will be described in even greater detail below based on the exemplary figures. All features described and / or illustrated herein can be used alone or combined in different combinations. The features and advantages of various embodiments will become apparent by reading the following detailed description with reference to the attached drawings, which illustrate the following:

[0020] FIG. 1 illustrates a simplified diagram for a bin picking system, according to one or more examples of the present disclosure;

[0021] FIGS. 2A-2B illustrate exemplary diagrams related to the bin picking system, according to one or more examples of the present disclosure;

[0022] FIG. 3 illustrates a virtual environment related to the bin picking system, according to one or more examples of the present disclosure;

[0023] FIG. 4 illustrates a user interface related to the bin picking system, according to one or more examples of the present disclosure;

[0024] FIG. 5 illustrates a simplified block diagram of one or more devices or systems within the exemplary environment of FIG. 1, according to one or more examples of the present disclosure; and

[0025] FIG. 6 illustrates a process performed by a controller as part of a random bin picking system, according to one or more examples of the present disclosure.DETAILED DESCRIPTION

[0026] Examples of the presented application will now be described more fully hereinafter with reference to the accompanying FIGS., in which some, but not all, examples of the application are shown. Indeed, the application may be exemplified in different forms and should not be construed as limited to the examples set forth herein; rather, these examples are provided so that the application will satisfy applicable legal requirements.Where possible, any terms expressed in the singular form herein are meant to also include the plural form and vice versa, unless explicitly stated otherwise. Also, as used herein, the term“a” and / or “an” shall mean “one or more” even though the phrase “one or more” is also used herein. Furthermore, when it is said herein that something is “based on” something else, it may be based on one or more other things as well. In other words, unless expressly indicated otherwise, as used herein “based on” means “based at least in part on” or “based at least partially on.”

[0027] High speed automated assembly lines, machine tending system, and pick and pack order system in fulfillment center, among others, involve robots that are responsible for performing various tasks. Robots of high-speed assembly lines, machine tending system, pick and pack order system in fulfillment center and others, may be tasked with quickly picking up industrial parts that are randomly distributed at a first workspace and placing the picked up objects at a second workspace. The robot may encounter a picking failure when the robot collides with obstructions around the first and second workspaces. For example, the first workspace may be a bin and the second workspace may be a conveyor belt that is ready to receive the object from the first workspace. In order to pick up parts that are placed next to a wall or in a comer of a bin, the robot is provided with a first small collision clearance distance so that an arm of the robot can go close to the wall of the bin to pick up the object. However, the small collision clearance distance may lead to a collision of the picked up object with a side of the bin as the robot is moving the picked up object from the bin to the second workspace in high speed and the picked up object may slightly move as it is held by a gripper of the robot arm. The collision of the robot with the side of the bin may cause a failure of the robot, leading to a loss in time and efficiency of the picking process. The different collision clearance distances that may be used to enhance the functioning of the robot 102 is described in more details with respect to FIGs. 2A-2B.

[0028] Embodiments of the present disclosure describe dynamically setting up a variety of picking collision clearance distances for different portions of a path of a robot. Embodiments of the present disclosure also discuss using an interface to provide the variety of picking collision clearance distances.

[0029] FIG. 1 illustrates a simplified diagram for a random bin picking system, according to one or more examples of the present disclosure. System 100 includes a controller 104, a virtual environment generator 108, a robot 102, a computing accelerator and / or graphical processing unit (GPU) 116, and a memory 106. The robot 102 is tasked with moving objects from a first workspace to a second workspace. The virtual environment generator 108 may generate a virtual environment associated with the robot 102. For example, the virtual environment generated by the virtual environment may include a virtual model of the robot102 and a virtual model of the first workspace that includes the plurality of objects that are to be moved. In some embodiments, the virtual environment may also include a virtual model of the second workspace in addition to the virtual model of the first workspace. The virtual models of the robot 102, the first workspace, and the second workspace may be imported into the generated virtual environment from virtual models 114 stored in memory 106. In some embodiments, the first workspace may be a bin, and the virtual model of the first workspace (e.g., bin), may be a mesh model of the bin. In some embodiments, the bin may include a plurality of objects randomly distributed within the bin. The virtual environment generator may generate virtual representations of the plurality of objects as they are distributed in the bin, along with the virtual model of the bin.

[0030] In some embodiments, the virtual environment generator 108 may import the virtual models of the robot 102, the first workspace, and second workspace to create the virtual environment using a computing accelerator (GPU) 116. The virtual environment is discussed in more detail with respect to FIG. 3.

[0031] Once the virtual environment is generated along with the virtual models of the robot 102, the first workspace, and the second workspace, a path of the robot, to pick up a virtual representation of an object of the plurality of objects from the first workspace and deposit it at the second workspace may be mapped using a path generator 120 of the virtual environment generator 108. The path generator 120 attempts to map a collision free path of the robot 102 between the first workspace and the second workspace as the robot 102 may transfer objects placed at the first workspace to the second workspace. In some embodiments, when there is no collision free path available 102 between the first workspace and the second workspace, the virtual environment generator 108 may highlight points of potential collision in the mapped path that the robot 102 may take between the first workspace and / or the second workspace.

[0032] A user may analyze the highlighted points of potential collision in the mapped path take by the robot between the first workspace and the second workspace, and enter a plurality of collision clearance distances for different portions of the path where a potential collision between the robot and the first workspace or the second workspace is suspected by the user. In some embodiments, the controller 102 may instruct the input / output (I / O) generator 118 to generate a graphical user interface (GUI) where a user may provide the different collision clearance distances for each of the points of potential collision in the mapped path. The inputs received at the I / O generator may be provided to the controller 104 that provides the collision clearance distances to the virtual environment generated by thevirtual environment generator 108. For example, the input / output (I / O) generator may be a network socket client-server communication to receive and send collision clearance distances assigned to different surfaces of the workspaces via a graphical user interface (GUI).

[0033] For example, the first workspace may be a bin in which a plurality of objects are randomly distributed. The second workspace may be conveyor belt where the objects are to be placed. The virtual model of the bin may be a mesh model of the bin stored in virtual models 114. In the virtual environment generated by the virtual environment generator 108, the computing accelerator 116 may generate a virtual representation of a path that the robot takes when picking up an object from the first workspace (e.g., bin) and placing it at a second workspace (e.g., conveyor belt). Based on viewing the virtual representation of the path, a user may identify potential points of collision between the robot and the first workspace or the robot and the second workspace. In some embodiments, the computing accelerator may highlight the potential points of collision between the robot 102 and the first workspace or the robot 102 and the second workspace. Upon reviewing the potential points of collision in the virtual environment, a user may provide a plurality of collision clearance distances for the robot 102 to avoid the potential points of collision. In some embodiments, the user may be able to provide different collision clearance distances for each point of collision of the potential points of collision. Thus, a user may be able to provide a small collision clearance distance for a side of the wall of the bin and a large collision clearance distance for a top of the same wall of the bin. In some embodiments, the controller 104 may provide GUI via I / O generator 118 to the user to provide the different collision clearance distances for each potential collision point. The interface provided by the I / O generator 118 is discussed in more detail in FIG. 4.

[0034] The collision clearance distances received from the user via the I / O generator 118 may be provided to the virtual environment generator 108 by the controller 102. The virtual environment generator may update a virtual representation of the virtual environment based on the input received from the user. For example, in case the user specifies a new collision clearance distance for the top of a side wall of a bin, the computing accelerator of the virtual environment generator 108 may add an additional region to the top of the side wall of the bin to reflect the collision clearance distance added by the user. The updated representations of the first workspace and the second workspace in the virtual environment may then be used to generate an updated mapped path taken by the robot between the first workspace and the second workspace. In some embodiments, the mapped path may also include some potential points of collision. A GUI may be provided to the user again to provide new collisionclearance distances and / or modify the collision clearance distance already provided to the points of potential collision. The mapped path and the virtual representation of the robot, first workspace and second workspace may be updated once again based on the user inputs at the GUI. This process may be repeated until a collision free path is mapped for the robot 102 between the first workspace and the second workspace.

[0035] In some embodiments, the collision clearance distances provided by the user is a minimum distance between the robot and obstacle surfaces of the first workspace and / or the second workspace on the mapped collision free path. In some embodiments, the robot 102 may include a robot arm, body, a robot end-of-arm-tooling (EOT), and a picked up part in the robot EOT.

[0036] Once a collision free mapped path is generated by the virtual environment 108, the controller 104 may begin the movement of the robot to pick objects from the first workspace to place them at the second workspace based on the collision free mapped path.

[0037] FIGS. 2A-2B illustrate exemplary diagrams related to the bin picking system, according to one or more examples of the present disclosure. FIGs. 2A and 2B show a bin with a plurality of objects distributed in the bin. A robot 102 is instructed to transfer the plurality of objects distributed in the bin to a second workspace. FIG. 2A depicts a diagram 200 that shows a collision clearance distance needed to pick up an object placed close to a side wall of a bin. As shown in portion 202 of diagram 200 of FIG. 2A, robot 102 is picking up a part 206 that is placed close to a side wall 204 of the bin. In order for the robot to safely and efficiently approach the side wall 204 of the bin, a small collision clearance distance is required.

[0038] On the other hand, FIG. 2B depicts a diagram 250 that shows a collision clearance distance as the robot moves out of the bin. As shown in portion 252 of the diagram 250 of FIG. 2B, a robot 102 is moving out of the bin. As the robot 102 is moving out of the bin, a larger clearing distance may be required between the robot and the top 254 of the side wall 204 of the bin. This large clearing distance may ensure that a robot body and / or arm and / or tool tip and / or the picked up part can safely clear the top 254 of the side wall 204 of the bin.

[0039] FIGS. 2A and 2B highlight the need for having a variety of collision clearance distances for the robot 102 as it moves from the first workspace to the second workspace.

[0040] FIG. 3 illustrates a virtual environment related to the bin picking system, according to one or more examples of the present disclosure. The virtual environment 300 shown in FIG. 3 includes a virtual representation 302 of the robot 102, a virtual representation of the first workspace 304, and a virtual representation of the secondworkspace 306. In some embodiments, the virtual environment is generated using the computing accelerator 116 of the virtual environment generator 108. In some embodiments, the virtual models of the robot 102, the first workspace, and the second workspace may be stored in virtual models 114 of memory 106. In some embodiments, the virtual representation of the first workspace 304 may be a mesh model of a bin as discussed above. Additionally, FIG. 3 depicts a mapped path 308 between the virtual representation of the first workspace 304 and the virtual representation of the second workspace 306. In some embodiments, the mapped path 308 between the virtual representation of the first workspace 304 and the virtual representation of the second workspace 306, generated using a path generator 120 of the virtual environment generator 108, may be a collision free path. In case it is not possible to generate a collision free path the virtual environment generator may highlight points of potential collision between the virtual representation 302 of the robot 102, the virtual representation of the first workspace 304, and the virtual representation of the second workspace 306. A user may provide clearing distances for the robot 102 to avoid the highlighted points of potential collision via a graphical user interface provided by an I / O generator 118. The collision clearance distances received at the I / O generator 118 are provided to the controller 102, which provides the collision clearance distances to the virtual environment generator 108. Using the clearing distance, the computing accelerator 116 of the virtual environment generator 108 updates the virtual environment to reflect the clearing distance.

[0041] As shown in FIG. 3, region 310 represents a collision clearance distance provided above a top surface of the virtual representation of the first workspace 304. The collision clearance distance 310 ensures that the robot 102 does not collide with the top surface of the first workspace as it moves between the first workspace and the second workspace.

[0042] FIG. 4 illustrates a user interface related to the bin picking system, according to one or more examples of the present disclosure. A portion of the virtual environment 400 of FIG. 4 is generated by the virtual environment generator 108. The portion of the virtual environment 400 includes a virtual representation of the workspace 404. The virtual representation of the workspace 404 correspond to the virtual representation of the first workspace 304 as shown in FIG. 3, or the virtual representation of the first workspace 304 as shown in FIG. 3.

[0043] FIG. 4 also depicts a window 402 of a graphical user interface (GUI) provided to a user to receive a clearing distance for the workspace 404 from. As discussed above, the window 402 of the GUI is generated using the I / O generator 118. The window 402 allows auser to input a collision clearance distance so that a point of potential collision between the robot 102 and the workspace 404 may be avoided as the robot moves towards and away from the workspace 404. When providing the collision clearance distance, the user is able to provide a frame of reference in addition to the collision clearance distance. For example, the user may provide the collision clearance distance in the frame of reference of the world (e.g., the virtual environment 400), or simply in the frame of reference of the workspace 404. In some embodiments, the collision clearance distance may be provided in millimeters, centimeters, or any other measurements suitable for the user. The collision clearance distance may be provided in an x-y-z coordinate system, where the user may specify a clearing distance in each dimension for a point of potential collision.

[0044] Once the collision clearance distance is provided, in the window 402 of the GUI, the collision clearance distance is provided to the virtual environment generator 108 to update the virtual representation of the workspace 404. Once the representation is updated, a collision clearance region 406 is added to the virtual representation of the workspace 404. The collision clearance region 406 depicts the area covered by the collision clearance distance over the top surface of the workspace 404.

[0045] FIG. 5 is a block diagram of an exemplary system or device 500 within the circuit interrupter system 100. The system 500 has a central processing unit (CPU), and / or logic, that executes computer executable instructions for performing the functions, processes, and / or methods described herein. In some examples, the computer executable instructions are locally stored and accessed from a non-transitory computer readable medium, such as storage 510, which may be a hard drive or flash drive. Read Only Memory (ROM) 506 includes computer executable instructions for initializing the processor 504, while the random-access memory (RAM) 508 is the main memory for loading and processing instructions executed by the processor 504. The network interface 512 may connect to a wired network or cellular network and to a local area network or wide area network. The system 500 may also include a bus 502 that connects the processor 504, ROM 506, RAM 508, storage 510, and / or the network interface 512. The components within the system 500 may use the bus 502 to communicate with each other. The components within the system 500 are merely exemplary and might not be inclusive of every component within the components of the bin picking system 100, such as controller 104. Additionally, and / or alternatively, the system 500 may further include components that might not be included within every entity of system 500. For instance, in some examples, the controller 102 might not include a network interface 512.

[0046] FIG. 6 illustrates a process performed by a controller as part of a random bin picking system, according to one or more examples of the present disclosure. However, it will be recognized that any of the following blocks may be performed in any suitable order and that the process 600 may be performed in any environment and by any suitable computing device and / or controller.

[0047] At 602, the controller 102 simulates a virtual environment, wherein the virtual environment comprises a first virtual representation of the robot, a second virtual representation of a first workspace that comprises a plurality of objects, and a third virtual representation of a second workspace. For example, as described in FIG. 1, the controller 102 may instruct a virtual environment generator 108 to generate a virtual environment that includes a virtual representation of the robot 102, a virtual representation of a first workspace 304 (shown in FIG. 3), and a virtual representation of the second workspace (shown in FIG. 3).

[0048] At 604, the controller 102 generates a simulated path taken by the robot in the virtual environment to pick up an object of the plurality of objects from the first workspace and place the object at the second workspace. For example, the path generator 120 of the virtual environment generator 108 maps a path taken by the robot 102 between the virtual representation of the first workspace 304 and the virtual representation of the second object 306. The path generator 120 attempts to generate a collision free path.

[0049] At decision block 606, the controller 102 determines whether the simulated path is collision free. In response to determining that the simulated path is collision free, the process 600 moves to 612 where the controller 102 controls the robot to pick up an object from the first workspace and place the object at the second workspace based on the simulated path.

[0050] In response to determining that the simulated path is not collision free, the process 600 moves to 608 to receive via user interface and based on the simulated path, a first collision clearance distance and a second collision clearance distance such that the robot avoids a first edge and a second edge of the first workspace, wherein the second collision clearance distance is different from the first collision clearance distance. For example, the controller 102 may instruct an I / O generator 118 (shown in FIG. 1) to generate a graphical user interface for a user to review each point of potential collision on the simulated path and enter collision clearance distance for each of a point of potential collision on the simulated path. In some embodiments, the points of potential collision on the simulated path may be highlighted for ease of review. In the graphical user interface, the user may enter a collision clearance distance in 3 -dimension (x-y-z axis) format. A first collision clearance distancemay be provided for a first point of potential collision and a second collision clearance distance may be provided for a second point of potential collision. The first collision clearance distance may be a small distance to allow the robot 102 to pick up an object placed close to a side wall of a first workspace (e.g., an object placed closed to a side wall 204 of the bin shown in FIG. 2A). On the other hand, the second collision clearance distance may be a large collision clearance distance required for the robot with the picked up part to move out of the first workspace without colliding with an obstruction of the first workspace, (e.g., a top 254 of the side wall 204 as shown in FIG. 2B).

[0051] At 610, the controller 102 modifies, based on the first collision clearance distance, the second virtual representation of the first workspace and the simulated path. For example, the virtual environment generator 108 may update the virtual representation of the first workspace 304 and the virtual representation of the second workspace 306 may be updated to reflect the collision clearance distance added to the appropriate virtual representation. This is shown in more detail in FIGs. 3 and 4. Once the virtual representation of the first workspace and the second workspace is updated, the controller 102 may update the simulated path of the robot 102 between the first workspace and the second workspace. The process 600 may move to 606 to determine whether the updated simulated path is collision free. This process is repeated until the simulated path is determined to be collision free.

[0052] At 612, the controller 102 controls, based on the simulated path, the robot to pick up an object from the first workspace and place the object at the second workspace.

[0053] While subject matter of the present disclosure has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive. Any statement made herein characterizing the invention is also to be considered illustrative or exemplary and not restrictive as the invention is defined by the claims. It will be understood that changes and modifications may be made, by those of ordinary skill in the art, within the scope of the following claims, which may include any combination of features from different embodiments described above.

[0054] The terms used in the claims should be construed to have the broadest reasonable interpretation consistent with the foregoing description. For example, the use of the article “a” or “the” in introducing an element should not be interpreted as being exclusive of a plurality of elements. Likewise, the recitation of “or” should be interpreted as being inclusive, such that the recitation of “A or B” is not exclusive of “A and B,” unless it is clear from the context or the foregoing description that only one of A and B is intended. Further, therecitation of “at least one of A, B and C” should be interpreted as one or more of a group of elements consisting of A, B and C, and should not be interpreted as requiring at least one of each of the listed elements A, B and C, regardless of whether A, B and C are related as categories or otherwise. Moreover, the recitation of “A, B and / or C” or “at least one of A, B or C” should be interpreted as including any singular entity from the listed elements, e.g., A, any subset from the listed elements, e.g., A and B, or the entire list of elements A, B and C.

Claims

CLAIMSWhat is claimed is:

1. A method for dynamically assigning collision clearance distances for a robot picking up a plurality of objects in a collision free manner, the method comprising: simulating, by a controller, a virtual environment, wherein the virtual environment comprises a first virtual representation of the robot, a second virtual representation of a first workspace that indicates the plurality of objects, and a third virtual representation of a second workspace; generating, by the controller and in the virtual environment, a simulated path taken by the robot to pick up a virtual representation of an object of the plurality of objects from the first workspace and place the object at the second workspace; receiving, by the controller and based on the simulated path, a first collision clearance distance such that the robot avoids a first edge of the first workspace; receiving, by the controller and based on the simulated path, a second collision clearance distance such that the robot avoids a second edge of the first workspace, wherein the second collision clearance distance is different from the first clearing distance; and controlling, by the controller and based on the simulated path, the first collision clearance distance, and the second collision clearance distance, the robot to pick up the object from the first workspace and place the object at the second workspace.

2. The method of claim 1, further comprising: determining whether the simulated path is collision free; and based on determining that the simulated path is not collision free, the first collision clearance distance is received by the controller.

3. The method of claim 2, wherein the simulated path comprises potential collision points between the robot and the first workspace.

4. The method of claim 1, further comprising: based on the first clearing distance and the second clearing distance, generating, by the controller, an updated simulated path; and based on determining that the updated simulated path is collision free, controlling the robot to pick up the object from the first workspace and place the object at the second workspace.

5. The method of claim 1, wherein the first collision clearance distance is received in a three-dimensional (3D) format.

6. A method for generating a display for dynamically assigning collision clearance distances for a robot picking up a plurality of objects in a collision free manner, the method comprising: simulating, by a controller, a virtual environment, wherein the virtual environment comprises a first virtual representation of the robot, a second virtual representation of a first workspace that indicates the plurality of objects, and a third virtual representation of a second workspace; generating, by the controller and in the virtual environment, a simulated path taken by the robot to pick up a virtual representation of an object of the plurality of objects from the first workspace and place the object at the second workspace; receiving, by a user interface of the controller and based on the simulated path, a first collision clearance distance such that the robot avoids a first edge of the first workspace; modifying, by the controller and based on the first collision clearance distance, the second virtual representation of the first workspace; and controlling, by the controller and based on the simulated path, the first collision clearance distance, and of the first workspace, the robot to pick up the object from the first workspace and place the object at the second workspace.

7. The method of claim 6, wherein the user interface of the controller is generated based on determining that the simulated path is not collision free.

8. The method of claim 6, wherein the first collision clearance distance is received in a three-dimensional (3D) format.

9. The method of claim 6, wherein modifying the second virtual representation of the first workspace comprises adding a collision clearance region above the second virtual representation of the first workspace that represents an area covered by the first collision clearance distance.

10. The method of claim 6, further comprising: determining whether the simulated path is collision free; and based on determining that the simulated path is not collision free, the first collision clearance distance is received by the controller.

11. The method of claim 10, wherein the simulated path comprises potential collision points between the robot and the first workspace.

12. A system for dynamically assigning collision clearance distances for a robot picking up a plurality of objects in a collision free manner, the system comprising: the robot; a first workspace that includes the plurality of objects; a second workspace; and a controller configured to: simulate a virtual environment, wherein the virtual environment comprises a first virtual representation of the robot, a second virtual representation of the first workspace that indicates the plurality of objects, and a third virtual representation of the second workspace; generate, in the virtual environment, a simulated path taken by the robot to pick up a virtual representation of an object of the plurality of objects from the first workspace and place the object at the second workspace; receive, by a user interface of the controller and based on the simulated path, a first collision clearance distance such that the robot avoids a first edge of the first workspace; modify, based on the first collision clearance distance, the second virtual representation of the first workspace; and control, based on the simulated path, the first collision clearance distance, and of the first workspace, the robot to pick up the object from the first workspace and place the object at the second workspace.

13. The system of claim 12, wherein the controller is further configured to: determine whether the simulated path is collision free; and based on determining that the simulated path is not collision free, the first collision clearance distance is received by the controller.

14. The system of claim 13, wherein the simulated path comprises potential collision points between the robot and the first workspace.

15. The system of claim 12, wherein the controller is further configured to: based on the first clearing distance and the second clearing distance, generate, by the controller, an updated simulated path; andbased on determining that the updated simulated path is collision free, control the robot to pick up the object from the first workspace and place the object at the second workspace.

16. The system of claim 12, wherein the first collision clearance distance is received in a three-dimensional (3D) format.

Citation Information

Patent Citations

  • Information processing apparatus, information processing method, and storage medium

    US20150003678A1

  • Robot simulator, robot system and simulation method

    US20180236657A1

  • Collision avoidance motion planning method for industrial robot

    US20210252707A1

  • Path Generation Device, Path Generation Method, and Recording Medium Storing Path Generation Program

    US20210260763A1

  • Collision handling methods in grasp generation

    US20230166398A1