Search

US-12617092-B2 - Method and a system for detecting possible collisions of objects in an industrial manufacturing environment

US12617092B2US 12617092 B2US12617092 B2US 12617092B2US-12617092-B2

Abstract

Systems such as computer-aided design, visualization, and manufacturing (“CAD”) systems, product lifecycle management (“PLM”) systems, product data management (“PDM”) systems, and similar systems, all manage data for products and other items (collectively, “Product Data Management” systems or PDM systems). More specifically, in such systems the enablement of an industrial manufacturing environment for detecting possible collisions of movable objects in an industrial manufacturing environment is necessary.

Inventors

  • Moshe Hazan

Assignees

  • SIEMENS INDUSTRY SOFTWARE LTD.

Dates

Publication Date
20260505
Application Date
20211020

Claims (15)

  1. 1 . A method for detecting possible collisions of movable objects in an industrial manufacturing environment, which comprises the steps of: a) defining for each movable object a set of relevant object control information enabling a calculation of a calculated maximal possible translation of the movable object for a given time interval; b) defining a plurality of defined pairs of the movable objects that may have a potential for collision; c) creating for each said movable object of the defined pairs of the movable objects a dummy bounding box, the dummy bounding box providing a volume in response to the calculated maximal possible translation of the movable object at an end of the given time interval; d) determining in a simulation step for a simulated movement of the movable object according to the set of relevant object control information after the given time interval whether an overlap of dummy bounding boxes of the movable objects assigned to a pair of the movable objects occurs; e) in case the overlap occurs, creating for each said movable object involved in the overlap a new dummy bounding box, the new dummy bounding box providing a volume in response to the calculated maximal possible translation of the movable object at an end of a fractional time interval of the given time interval; f) determining in the simulation step for the simulated movement of the movable object according to the set of relevant object control information after the fractional time interval whether an overlap of new dummy bounding boxes of the movable objects assigned to the pair of the movable objects occurs; and g) in a case where an overlap still occurs further reducing the fractional time interval and repeating the steps e) and f) or reviewing a real movement of the movable objects for deepened analysis on whether a collision occurs or not.
  2. 2 . The method according to claim 1 , wherein the given time interval is in a range of 0.1 to 1 sec.
  3. 3 . The method according to claim 2 , wherein the given time interval is chosen to be 0.5 sec and the fractional time interval is set to 0.1 sec.
  4. 4 . The method according to claim 1 , wherein in a case where the overlap still occurs, reducing again the fractional time interval for a next simulation step and repeating the steps e) and f) for a simulation only for the movable objects still involved in the overlap for a reduced fractional time interval for the next simulation step.
  5. 5 . The method according to claim 4 , wherein simulation steps with the fractional time interval are repeated until a sum of fractional time intervals sums up to an amount of the given time interval wherein a time interval for the next simulation step is then set back to the given time interval.
  6. 6 . A data processing environment for detecting possible collisions of objects in an industrial manufacturing environment, the data processing environment comprising: a) a control instance for defining for each object a set of relevant object control information enabling a calculation of a calculated maximal possible translation of the object for a given time interval; b) a user interface for defining a number of pairs of the objects that may have a potential for collision; c) a data processing instance for creating for each said object of defined pairs of the objects a dummy bounding box, the dummy bounding box providing a volume in response to the calculated maximal possible translation of the object at an end of the given time interval; d) said data processing instance further enabled to determine in a simulation step for a simulated movement of the object according to the set of relevant object control information after the given time interval whether an overlap of dummy bounding boxes of the objects assigned to the pair of the objects occurs; e) in case the overlap occurs, said data processing instance being further enabled to create for each said object involved in the overlap a new dummy bounding box, the new dummy bounding box providing a volume in response to the calculated maximal possible translation of the object at an end of a fractional time interval of the given time interval; f) said data processing instance determining in the simulation step for the simulated movement of the object according to the set of relevant object control information after the fractional interval whether an overlap of the new dummy bounding boxes of the objects assigned to the pair of the objects occurs; and g) in case that still an overlap occurs, said data processing instance being further enabled to further reduce the fractional time interval and repeat the steps e) and f) or said user interface being further enabled to review a real movement of the objects for deepened analysis on whether a collision occurs or not.
  7. 7 . The data processing environment according to claim 6 , wherein the given time interval is in a range of 0.1 to 1 sec.
  8. 8 . The data processing environment according to claim 6 , wherein the given time interval is chosen to be 0.5 sec and the fractional time interval is set to 0.1 sec.
  9. 9 . The data processing environment according to claim 6 , wherein in case that still the overlap occurs, reducing again the fractional time interval for a next simulation step and repeating the steps e) and f) for a simulation only for the objects still involved in the overlap for the reduced fractional time interval for the next simulation step.
  10. 10 . The data processing environment according to claim 6 , wherein simulation steps with the fractional time interval are repeated until a sum of fractional time intervals sums up to an amount of the given time interval wherein a time interval for the next simulation step is then set back to the given time interval.
  11. 11 . A non-transitory computer-readable medium encoded with executable instructions that, when executed, cause a data processing environment for detecting possible collisions of objects in an industrial manufacturing environment, to: a) define for each object a set of relevant object control information enabling a calculation of a calculated maximal possible translation of the object for a given time interval; b) define a number of pairs of the objects that may have a potential for collision; c) create for each said object being a movable object of defined pairs of the objects a dummy bounding box, the dummy bounding box providing a volume in response to the calculated maximal possible translation of the object at an end of the given time interval; d) determine in a simulation step for a simulated movement of the object according to the set of relevant object control information after the given time interval whether an overlap of dummy bounding boxes of the objects assigned to a pair of the objects occurs; e) in case the overlap occurs, create for each said object involved in the overlap a new dummy bounding box, the new dummy bounding box providing a volume in response to the calculated maximal possible translation of the object at an end of a fractional time interval of the given time interval; f) determine in the simulation step for the simulated movement of the object according to the set of relevant object control information after the fractional interval whether an overlap of new dummy bounding boxes of the objects assigned to the pair of the objects occurs; and g) in case that still an overlap occurs further reducing the fractional time interval and repeating the steps e) and f) or reviewing a real movement of the objects for deepened analysis on whether a collision occurs or not.
  12. 12 . The non-transitory computer-readable medium according to claim 11 , wherein the given time interval is in a range of 0.1 to 1 sec.
  13. 13 . The non-transitory computer-readable medium according to claim 11 , wherein the given time interval is chosen to be 0.5 sec and the fractional time interval is set to 0.1 sec.
  14. 14 . The non-transitory computer-readable medium according to claim 11 , wherein in case that still the overlap occurs, reducing again the fractional time interval for the next simulation step and repeating the steps e) and f) for a simulation only for the objects still involved in the overlap for the reduced fractional time interval for the next simulation step.
  15. 15 . The non-transitory computer-readable medium according to claim 11 , wherein the simulation steps with the fractional time interval are repeated until a sum of fractional time intervals sums up to an amount of the given time interval, wherein a time interval for the next simulation step is then set back to the given time interval.

Description

TECHNICAL FIELD The present disclosure is directed, in general, to computer-aided design, visualization, and manufacturing (“CAD”) systems, product lifecycle management (“PLM”) systems, product data management (“PDM”) systems, and similar systems, that manage data for products and other items (collectively, “Product Data Management” systems or PDM systems). More specifically, the disclosure is directed to the enablement of an industrial manufacturing environment for detecting possible collisions of movable objects in an industrial manufacturing environment. BACKGROUND OF THE DISCLOSURE In industrial manufacturing environments, there exist a need to properly orchestrate the execution of the production steps which are contributed by a usually high number of production resources, robots, materials, personnel, conveyors and the like. Usually, a high number of production steps is executed automatically by the proper operation of robots and/or the proper cooperation of robots and humans. For this purpose, the production controller and/or the controller of the resources receive a set of relevant object control information, e.g. control data for the movement of the robots etc. In robotic cells of manufacturing facilities, each physical industrial robot is often required to execute multiple tasks in parallel. Such multiple parallel tasks of a single robot usually consist of one single main robotic motion task and several minor robotic logic tasks. As used herein, the term “motion task” denotes the main robotic task which typically comprises a set of kinematic operations and a set of logic operations. As used herein, the term “logic task” denotes a minor robotic logic task comprising a set of logic operations and no kinematic operation. The multiple different robotic tasks are executed by the physical robots by running, on their own robotic controllers' threads or processes, corresponding robotic programs on a set of operands (the relevant object control data). The codes of such robotic programs are usually written in a robotic programming language, usually a native language of the specific robot's vendor and model. Examples of such native robotic languages include, but are not limited by, native robotic languages supported by robot's vendors e.g. like Kuka, ABB, Fanuc. Alternatively, the user can use a CAR tool, like Process Simulate® and others that enable the user to program the robot by 3D objects (locations etc.) and generic OLP command. At download, this data is then converted into the specific controller native code. Simulation software applications for industrial robots should preferably fulfil the requirement of enabling the simulation of all different multiple tasks performed by the several physical industrial robots on the shop floor. This requirement is particularly important for virtual commissioning systems which enable production optimizations and equipment validations. In order to concurrently simulate all the multiple robotic tasks, a simulating system of the general industrial environment is usually required to concurrently execute all the production operations incl. the robot programs of all the plurality of robot controllers of a production environment. Since today's production cells do comprise more and more robots, the capability of simulating a full robotic cell with real time performances becomes a critical issue. The robotic simulation is expected to be as realistic as possible by mirroring the execution of all the robotic tasks of the involved physical robots and by providing high performances in term of execution time by achieving a virtual time as close as possible to the real time. In fact, for example, having a high performing simulation execution time is important for enabling synchronizations with the PLC running code and for preventing PLC code's exits with “time out” errors. Hence, a simulation on the industrial environment, in particular on the robotic simulation application, is required to realistically simulate the behavior of the industrial environment and the multiple robotic tasks of a plurality of robots by executing, in a concurrent and high performing manner, the plurality of main robotic motion programs together with the plurality of sets of robotic logic programs. For complex industrial cells, having dozens of robots each executing dozens of tasks, this requirement implies running a robotic simulation with high performances for several hundred robotic programs or more thereby also enabling a user to detect possible collisions of the production resources, such as robots, conveyors, but also humans which may act interactively together with the robot in the same production environment. Nowadays, high performances in simulating such complex robot cells may be achieved by executing hundreds of parallel robotic programs in several CPUs, in clusters of computers or on super computers. However, today's common scenario is that industrial robotic simulations are mostly executed on c