Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
A METHOD AND A SYSTEM FOR ENABLING A USER TO REVIEW SIMULATION DATA OF AN INDUSTRIAL ENVIRONMENT
Document Type and Number:
WIPO Patent Application WO/2023/031649
Kind Code:
A1
Abstract:
Various disclosed embodiments include methods, systems, and computer readable mediums for facilitating a concurrent simulation of multiple tasks of a plurality of industrial resources in a virtual environment in order to enable a user of a first computer-aided reality tool (CAR tool) being installed on a first computational resource to review simulation scenario of an industrial environment; said simulation scenario being generated by a second computational resource; wherein the following steps are comprised:a) installing a second CAR tool and a number of simulation modules for a number of industrial objects on the second computational resource, said industrial objects forming the industrial environment;b) executing the second CAR tool and the simulation modules thereby generating for each of the industrial objects a simulation scenario; said simulation scenario is calculated for a predefined period of time wherein this period is subdivided into a number of predefined time intervals wherein said simulation scenario comprising for each time interval at least a position value for the object position;c) recording the simulation scenario in a simulation file that comprises for each of the industrial objects entries for the positions value when the position of the industrial object has changed as compared to a position value at a previous time interval;d) forwarding the simulation file to the first computational resource;e) playing the simulation file on the first CAR tool being installed on the first computational resource; said first CAR tool also comprising a representation of the industrial environment.

Inventors:
HAZAN MOSHE (IL)
Application Number:
PCT/IB2021/057972
Publication Date:
March 09, 2023
Filing Date:
September 01, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS IND SOFTWARE LTD (IL)
International Classes:
G05B19/418; G06F30/10
Foreign References:
JPS59154374A1984-09-03
US20210016442A12021-01-21
Other References:
ABB ROBOTICS: "Operating manual RobotStudio", 6 September 2012 (2012-09-06), pages 1 - 534, XP055684461, Retrieved from the Internet [retrieved on 20200408]
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A method for enabling a user of a first computer-aided reality tool (CAR tool) being installed on a first computational resource to review a simulation scenario of an industrial environment; said simulation scenario being generated by a second CAR tool on a second computational resource; said method comprising the following step: a) installing a second CAR tool and a number of simulation modules for a number of industrial objects on the second computational resource, said industrial objects forming the industrial environment; b) executing the second CAR tool and the simulation modules thereby generating for each of the industrial objects a simulation scenario; said simulation scenario is calculated for a predefined period of time wherein this period is subdivided into a number of predefined time intervals wherein said simulation scenario comprising for each time interval at least a position value for the object position; c) recording the simulation scenario in a simulation file that comprises for each of the industrial objects entries for the positions value when the position of the industrial object has changed as compared to a position value at a previous time interval; d) forwarding the simulation file to the first computational resource; e) playing the simulation file on the first CAR tool being installed on the first computational resource; said first CAR tool also comprising a representation of the industrial environment.

2. The method according to claim 1, wherein the simulation file further comprises for each of the industrial object one or more of the following values: a) new joint values; b) indicator for creation or deletion of one or more of the industrial objects; c) input and/or output values of the industrial object; d) simulation log data; and/or e) collision detection information.

3. The method according to claim 2, wherein the simulation file comprises for each of the values only then an entry when the value has changed as compared to an earlier value taken at an earlier time interval.

4. The method according to any of the preceding claims, wherein the first CAR tool is enabled to selectively play the simulation file for a number of selectable industrial objects and/or for a selectable time period and/or wherein the second CAR tool is enabled to selectively record and/or play the simulation file for a number of selectable industrial objects and/or for a selectable time period.

5. The method according to any of the preceding claims, wherein the industrial objects are selected from a group of industrial objects, comprising Robots, Parts, Operators, AGVs, controllers and the like.

6. A data processing environment comprising: a first CAR tool being installed on a first computational resource; a second CAR tool being installed on a second computational resource; and a data network connecting the first computational resource to the second computations resource and vice versa; the data processing environment particularly configured to enable a user of the first computer-aided reality tool (CAR tool) being installed on the first computational resource to review a simulation scenario of an industrial environment; said simulation scenario being generated by the second computational resource and specifically enabled to: a) installing a second CAR tool and a number of simulation modules for a number of industrial objects on the second computational resource, said industrial objects forming the industrial environment; b) executing the second CAR tool and the simulation modules thereby generating for each of the industrial objects a simulation scenario; said simulation scenario is calculated for a predefined period of time wherein this period is subdivided into a number of predefined time intervals wherein said simulation scenario comprising for each time interval at least a position value for the object position; c) recording the simulation scenario in a simulation file that comprises for each of the industrial objects entries for the positions value when the position of the industrial object has changed as compared to a position value at a previous time interval; d) forwarding the simulation file to the first computational resource; e) playing the simulation file on the first CAR tool being installed on the first computational resource; said first CAR tool also comprising a representation of the industrial environment.

7. The data processing environment of claim 6, wherein the simulation file further comprises for each of the industrial object one or more of the following values: a) new joint values; b) indicator for creation or deletion of one or more of the industrial objects; c) input and/or output values of the industrial object; d) simulation log data; and/or e) collision detection information.

8. The data processing environment of claim 6, wherein the simulation file comprises for each of the values only then an entry when the value has been changed as compared to an earlier value taken at an earlier time interval;

9. The data processing environment of any of the preceding claims 6 to 8, wherein the first CAR tool is enabled to selectively play the simulation file for a number of selectable industrial objects and/or for a selectable time period and/or wherein the second CAR tool is enabled to selectively record and/or play the simulation file for a number of selectable industrial objects and/or for a selectable time period.

10. The data processing environment of any of the preceding claims 6 to 9, wherein the industrial objects are selected from a group of industrial objects, comprising Robots, Parts, Operators, AGVs, controllers and the like.

11. A non-transitory computer-readable medium encoded with executable instructions that, when executed, cause a data processing environment for enabling a user of a first computer-aided reality tool (CAR tool) being installed on a first computational resource to review a simulation scenario of an industrial environment;

19 said simulation data scenario being generated by a second computational resource; and specifically to: a) installing a second CAR tool and a number of simulation modules for a number of industrial objects on the second computational resource, said industrial objects forming the industrial environment; b) executing the second CAR tool and the simulation modules thereby generating for each of the industrial objects a simulation scenario; said simulation scenario is calculated for a predefined period of time wherein this period is subdivided into a number of predefined time intervals wherein said simulation scenario comprising for each time interval at least a position value for the object position; c) recording the simulation scenario in a simulation file that comprises for each of the industrial objects entries for the positions value when the position of the industrial object has changed as compared to a position value at a previous time interval; d) forwarding the simulation file to the first computational resource; e) playing the simulation file on the first CAR tool being installed on the first computational resource; said first CAR tool also comprising a representation of the industrial environment.

12. The non-transitory computer-readable medium according to claim 11, wherein the simulation file further comprises for each of the industrial object one or more of the following values: a) new joint values; b) indicator for creation or deletion of one or more of the industrial objects; c) input and/or output values of the industrial object; d) simulation log data; and/or e) collision detection information.

13. The non-transitory computer-readable medium according to claim 12, wherein the simulation file comprises for each of the values only then an entry when the value has been changed as compared to an earlier value taken at an earlier time interval;

14. The non-transitory computer-readable medium according to any of the preceding claims, wherein the first CAR tool is enabled to selectively play the

20 simulation file for a number of selectable industrial objects and/or for a selectable time period and/or wherein the second CAR tool is enabled to selectively record and/or play the simulation file for a number of selectable industrial objects and/or for a selectable time period.

15. The non-transitory computer-readable medium according to any of the preceding claims, wherein the industrial objects are selected from a group of industrial objects, comprising Robots, Parts, Operators, AGVs, controllers and the like.

21

Description:
A method and a system for enabling a user to review simulation data of an industrial environment

TECHNICAL FIELD

[0001] 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 production environment simulation.

BACKGROUND OF THE DISCLOSURE

[0002] 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, 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.

[0003] 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.

[0004] 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 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.

[0005] 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.

[0006] This requirement is particularly important for virtual commissioning systems which enable production optimizations and equipment validations.

[0007] 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.

[0008] 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 one.

[0009] 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.

[0010] 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.

[0011] 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.

[0012] 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.

[0013] 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.

[0014] However, today’s common scenario is that industrial robotic simulations are mostly executed on computers with common resources rather than on super computers.

[0015] Therefore, for cells having a plurality of robots, today’s robotic simulations on common computers are typically executed with the help of one or more of the following expedients;

- executing only the robotic motion programs, while ignoring robotic logic programs;

- executing the robotic motion programs, while manually modeling robotic logic tasks by rewriting their logic programs native codes by using logic blocks;

- executing robotic motion programs, while connecting to external Virtual Robot Controllers (“VRCs”) able of executing the robotic logic tasks.

[0016] Unfortunately, current robotic simulation techniques on common computers have the drawbacks of being cumbersome and of requiring workarounds, of introducing simulation errors, and/or of not providing realistic and high-performing simulations.

[0017] In particular, along the years, in order to have a realistic robotic simulation, the simulation engines of CAR (computer aided reality) applications need to be connected to many add-ons\plug-ins\external application\extemal configuration files etc. That means that each end user that wants to play a simulation on his machine, needs to install many applications, requires to own the necessary licenses and get the external configuration files. Further beside these rather administrational encumbrances, the user also needs to learn how to install and use each application, even when he does not attend to make any changes in the simulation and just wants to observe the simulation for his individual needs. This is a problematic situation which complicate the CAR tool usage for the non-expert CAR user (considering that the situation is still difficult for users being experts in CAR tool usage).

[0018] Improved techniques are therefore desirable.

[0019] SUMMARY OF THE DISCLOSURE

[0020] Various disclosed embodiments include methods, systems, and computer readable mediums for facilitating a concurrent simulation of multiple tasks of a plurality of industrial resources in a virtual environment in order to enable a user of a first computer-aided reality tool (CAR tool) being installed on a first computational resource to review simulation scenario of an industrial environment; said simulation scenario being generated by a second computational resource; wherein the following steps are comprised: a) installing a second CAR tool and a number of simulation modules for a number of industrial objects on the second computational resource, said industrial objects forming the industrial environment; b) executing the second CAR tool and the simulation modules thereby generating for each of the industrial objects a simulation scenario; said simulation scenario is calculated for a predefined period of time wherein this period is subdivided into a number of predefined time intervals wherein said simulation scenario comprising for each time interval at least a position value for the object position; c) recording the simulation scenario in a simulation file that comprises for each of the industrial objects entries for the positions value when the position of the industrial object has changed as compared to a position value at a previous time interval; d) forwarding the simulation file to the first computational resource; e) playing the simulation file on the first CAR tool being installed on the first computational resource; said first CAR tool also comprising a representation of the industrial environment. [0021] Further preferred embodiment of the present invention are given in the attached dependent claims.

[0022] The foregoing has outlined rather broadly the features and technical advantages of the present disclosure so that those skilled in the art may better understand the detailed description that follows. Additional features and advantages of the disclosure will be described hereinafter that form the subject of the claims. Those skilled in the art will appreciate that they may readily use the conception and the specific embodiment disclosed as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Those skilled in the art will also realize that such equivalent constructions do not depart from the spirit and scope of the disclosure in its broadest form.

[0023] Before undertaking the DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words or phrases used throughout this patent document: the terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation; the term “or” is inclusive, meaning and/or; the phrases “associated with” and “associated therewith,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like; and the term “controller” means any device, system or part thereof that controls at least one operation, whether such a device is implemented in hardware, firmware, software or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. Definitions for certain words and phrases are provided throughout this patent document, and those of ordinary skill in the art will understand that such definitions apply in many, if not most, instances to prior as well as future uses of such defined words and phrases. While some terms may include a wide variety of embodiments, the appended claims may expressly limit these terms to specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] For a more complete understanding of the present disclosure, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, wherein like numbers designate like objects, and in which:

[0025] Figure 1 illustrates a block diagram of a data processing environment in which an embodiment can be implemented;

[0026] Figure 2 schematically illustrates an overview of the complexity of a CAR tool and the required add-ones\plug-ins\external application\external configuration files etc;

[0027] Figure 3 schematically illustrates the result of the execution of a CAR tool;

[0028] Figure 4 illustrates a flowchart for enabling a user of a first computer-aided reality tool (CAR tool) being installed on a first computational resource to review simulation data of an industrial environment; said simulation data being generated by a second computational resource.

DETAILED DESCRIPTION

[0029] FIGURES 1 through 4, discussed below, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged device. The numerous innovative teachings of the present application will be described with reference to exemplary non-limiting embodiments.

[0030] Previous techniques for facilitating a concurrent simulation of multiple robot tasks have performance drawbacks on common computers. The embodiments disclosed herein provide numerous technical benefits, including but not limited to the following examples.

[0031] With embodiments, a virtual simulation system running on a common computer is empowered to concurrently simulate multiple robotic tasks of a plurality of robots with acceptable performances. With embodiments, a virtual simulation system is enabled to realistically simulate the tasks within the industrial environment, and herein particularly the multiple robotic tasks of a plurality of robots in an industrial cell with close to real-time performances.

[0032] With embodiments, a virtual simulation system is facilitated to concurrently execute a CAR tool with a number of add-ons\plug-ins\extemal application\external configuration files etc and multiple robotic programs written in their own original native codes with acceptable real-time performances. Embodiments save CPU time in case of robotic simulations of several concurrent robotic logic programs.

[0033] With embodiments, a realistic virtual commissioning simulation is enabled to run on a computer aided reality tool (CAR tool), such as a robotic simulation platform, like e.g. Process Simulate of Siemens Corporation, departing from robotic programs written in their original native coding language.

[0034] Embodiments provide encapsulation properties by enabling the whole simulation to run on a simulation platform like Process Simulate without requiring additional -external VRC connections.

[0035] Figure 1 illustrates a block diagram of a data processing system 100 in which an embodiment can be implemented, for example as a PDM system particularly configured by software or otherwise to perform the processes as described herein, and in particular as each one of a plurality of interconnected and communicating systems as described herein. The data processing system 100 illustrated can include a processor 102 connected to a level two cache/bridge 104, which is connected in turn to a local system bus 106. Local system bus 106 may be, for example, a peripheral component interconnect (PCI) architecture bus. Also connected to local system bus in the illustrated example are a main memory 108 and a graphics adapter 110. The graphics adapter 110 may be connected to display 111. [0036] Other peripherals, such as local area network (LAN) / Wide Area Network / Wireless (e.g. WiFi) adapter 112, may also be connected to local system bus 106. Expansion bus interface 114 connects local system bus 106 to input/output (I/O) bus 116. I/O bus 116 is connected to keyboard/mouse adapter 118, disk controller 120, and I/O adapter 122. Disk controller 120 can be connected to a storage 126, which can be any suitable machine usable or machine readable storage medium, including but are not limited to nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), magnetic tape storage, and user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs), and other known optical, electrical, or magnetic storage devices.

[0037] Also connected to I/O bus 116 in the example shown is audio adapter 124, to which speakers (not shown) may be connected for playing sounds. Keyboard/mouse adapter 118 provides a connection for a pointing device (not shown), such as a mouse, trackball, trackpointer, touchscreen, etc.

[0038] Those of ordinary skill in the art will appreciate that the hardware illustrated in Figure 1 may vary for particular implementations. For example, other peripheral devices, such as an optical disk drive and the like, also may be used in addition or in place of the hardware illustrated. The illustrated example is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present disclosure.

[0039] A data processing system in accordance with an embodiment of the present disclosure can include an operating system employing a graphical user interface. The operating system permits multiple display windows to be presented in the graphical user interface simultaneously, with each display window providing an interface to a different application or to a different instance of the same application. A cursor in the graphical user interface may be manipulated by a user through the pointing device. The position of the cursor may be changed and/or an event, such as clicking a mouse button, generated to actuate a desired response.

[0040] One of various commercial operating systems, such as a version of Microsoft Windows™, a product of Microsoft Corporation located in Redmond, Wash, may be employed if suitably modified. The operating system is modified or created in accordance with the present disclosure as described.

[0041] LAN/ WAN/Wireless adapter 112 can be connected to a network 130 (not a part of data processing system 100), which can be any public or private data processing system network or combination of networks, as known to those of skill in the art, including the Internet. Data processing system 100 can communicate over network 130 with server system 140, which is also not part of data processing system 100, but can be implemented, for example, as a separate data processing system 100.

[0042] In an exemplary embodiment, the main algorithm steps for facilitating a concurrent simulation of multiple tasks of a plurality of robots in a virtual environment are illustrated below.

[0043] Assume for illustration purposes that this exemplary embodiment refers to a simulation scenario (not shown) of an industrial cell with a plurality of industrial robots, each robot foreseen to concurrently execute different tasks consisting of single motion task and a set of logic tasks, and with a plurality of AGVs, humans, conveyors and the like. The concurrent simulation of the multiple tasks of the robots is performed by concurrently executing the corresponding robotic motion programs and the logic programs of the robots on sets of operands as well as the motion programs for the AGV and conveyors as well as the operational tasks for the humans.

[0044] Figure 2 now schematically shows a data processing environment which centrally comprises a computational resource as simulations engine running a first CAR application that allows to simulate the movements and logic operations of the industrial objects involved in the industrial environment represented by the CAR application. A large number of add-ons\plug-ins\extemal application\external configuration files etc. are connected to the simulation engine in order to run a full simulation of the complete industrial environment. In the present example, the following add-ones\plug-ins\extemal application\extemal configuration files etc. are involved:

PLC - process logic controllers which run the control programs for industrial objects;

User Inverse - Instead of out of the box user inverse dll, the user can write his own user inverse dll, which solves the "how this robot can reach this location" task.

Customized XML - Mechanism that allows the user to write XML which represents OLP & Motion commands. Those new commands will be considered and will be used and shown in the CAR tool, and will be part of simulation & download.

User LB function - Logic block section that are written by the end user of the simulations engine

MOP - Default motion planner tool

VRC - Virtual robot controller, like Robot Studio etc. which are provided by the robotic vendors

Robot Modules, Robot parallel tasks SCL - Simulation Control Logic VRC - Virtual Robotic Controller

RRS - Realistic Robot Simulation which is - unlike MOP, a more accurate motion planner per robot controller

Human - data set comprising the operative task for humans and trajectories during the execution of the operative tasks

AGV - control data for the automated guided vehicles defining their trajectories and stops and the like

ArtiMinds - Tool from a specific company which supplies robotic motion services RTR - Real-time Robotic tool which is an external motion planner based on hardware.

[0045] Once these add-ones\plug-ins\extemal application\extemal configuration files etc. are installed and thus provide their respective simulation information to the simulation engine, the simulation engine can execute a full simulation of the industrial scenario for a given period of time while this period of time is subdivided into a predefined number of time intervals. The present invention here appreciates to use the simulation outcome of all those external modules which, from simulation point of view, are position data and signals related to each of the simulated behavior of the industrial objects and related to the end of each simulation step which lasts one time interval. Thus, one records this data outcome (position data - mandatory, signals - optional, simulation log - optional).

[0046] At this stage, it si important to emphasize that unlike any other recorder the present invention does record the complete simulation in terms of a complete movie that is showing what happens on each module at all. Further, the present invention does not record any simulation activity even if it affects the simulated objects. The present invention only records at the end of each time interval the final results of the simulation into the simulation file that can be re-played later on by a different user.

[0047] Thus, this leads to a simulation file that just contains an entry for at least the position of an industrial object when the position of the industrial object has changed as compared to a position value at a previous time interval. Thus, during the simulation, the CAR tool does not need to record each plugin application but collects in the simulation file for each time interval the final simulation outcome results that was changed this time interval. Thus, the simulation file will comprise at least the following entries:

For each part: the position of the part;

For each industrial resource, such as LB, Robot, AGV, Conveyor, Human etc.: the position of the industrial resource, optional entries here are the joint values, resource Input signals and resource Output signals;

Further, the simulation file may additionally comprise for each PLC: External Connection Input signals and External Connection Output signals. Furthermore, the simulation file may comprise the log of the simulation, any events from the collision detection along the simulation and other pre-defined events along the simulation.

[0048] This simulation file can then be transferred to another computational resource comprising also an installed CAR tool that is aware of the industrial environment on which the full simulation has been executed. [0049] Figure 3 illustrates schematically the process of running a full simulation on the industrial scenario which comprises usually a number of resources, such as machines, robots, material, conveyors and human operators. This industrial scenario is provided for the full virtual study 300 as input data for the CAR tool 302 (simulations engine) that runs the simulation thereby using input data from and providing output data to a number of modules 304 (add-ons\plug-ins\extemal application\external configuration files etc.) as they are for example explained with reference to Figure 2. The full simulation is executed for a predefined period of time that is subdivided into a number of time intervals. These time intervals typically may have depending on the scope of the full simuation a length of a few ms up to 500 ms. For each time interval, the results of the simulation are recorded in a simulation file 306 that mandatorily comprises the time stamp (or the indication for the specific time interval) and the position data for the industrial objects that are comprised in the industrial scenario forming the basis for the full simulation process. Here, an object only receives a new entry for its position in the simulation file 306 when its position as compared to the previous time interval has changed. As shown in Figure 3, the simulation file 306 further comprises also data entries for the new joints values, for the creation and deletion of objects, for signals values for input and output, for example, to PLCs, data for the simulation log and information on collision detection, for example for a number of robots acting within the same field of operation.

[0050] According to the settings that are made by the operator of the simulation engine, this full simulation can be repeated for several simulation cases which, for example, may comprise different motion planners and/or different time intervals and/or different HMI start input and/or different number of programs, add-ons\plug- ins\external application\extemal configuration files etc to be executed during the simulation case. Each simulation provides as result the simulation file 306 that can be recorded in a library or on the cloud (simulation as a service SaaS).

[0051] Now, these simulation files 306 can be shared with other users which do not have the license/installation/external files to run the full simulation. The simulation file 306 can be forwarded into a cloud 307 and/or a library 309. Another computation resource 308 (i.e. other than the one that run the full simulation case) can then download the simulations file 306 from the cloud 307 and/or the library 309. This computation resource 308 also comprises a CAR tool and uses now the simulation file 306 to play the results stored in the simulation file 306 for the industrial scenario, such as robots 310, humans 312, AGVs 314 and parts 316. Of course, this user can now only play the simulations case as it is stored in the simulations file 306. This simulation file 306 can be displayed on this CAR tool very fast since the display of the simulation file 306 does not require a calculation to achieve the simulation results since the simulation file 306 provides the data of the simulation result.

[0052] In this mode, the user of the computation resources 308 does not need to use any simulation calculation (even no MOP or other internal simulation component). He can just read the relevant recorded information in the simulation file 306 and apply the changes, for example in the positions of the objects, to his CAR tool for each part, resource and signal that he would like to see in his “play-back” review. In this mode, the simulation shown on the computations resources 308 is totally based on the information recorded in the simulation file 306 only and, thus, is not a true simulation but a play-back of the stored data in the simulation file 306.

[0053] From the user point of view, he sees a full simulation. He can see all parts and resources, zoom and focus (since it is not a movie), sees all signals, logs etc. Nonetheless, the present invention does not store the complete (input/output) data of the simulation study data itself but just the new positions and values, thus leading to a recorded simulation file that is very small, even for a long simulation study (period). Hences, also the user that will play the simulations file just needs to load the same rather small data file before he can play the simulations file. Still, even considering the lean volume of the simulation file, the user can play back, and still use many CAR commands and viewers, blanks and zoom it and out etc.

[0054] Figure 4 illustrates a flowchart 400 of a method for enabling a user of a first computer-aided reality tool (CAR tool) being installed on a first computational resource to review a simulation scenario of an industrial environment; said simulation scenario being generated by a second CAR tool on a second computational resource. Such method can be performed, for example, by system 100 of Figure 1 described above, but the “system” in the process below can be any apparatus configured to perform a process as described and can be generically named a computations resource.

[0055] In the virtual environment, a number of industrial objects are foreseen that form an industrial environment, such as an manufacturing environment in the car manufacture industry, discrete manufacturing industry, food and beverage industry, life science and pharma industry etc. In the real industrial process, these industrial objects collaborate together by use of appropriate control data in order to achieve the intended result in terms of manufacturing, material handling etc.

[0056] At act 405, the method for enabling a user of a first computer-aided reality tool (CAR tool) being installed on a first computational resource to review a simulation scenario of an industrial environment; said simulation scenario being generated by a second CAR tool on a second computational resource starts with the step of installing a second CAR tool and a number of simulation modules for a number of industrial objects on the second computational resource, said industrial objects forming the industrial environment.

[0057] Once all the modules required for a full simulation of the industrial environment are present in the second computational resource, at act 410 the second CAR tool and the simulation modules are executed thereby generating for each of the industrial objects a simulation scenario; said simulation scenario is calculated for a predefined period of time wherein this period is subdivided into a number of predefined time intervals wherein said simulation scenario comprising for each time interval at least a position value for the object position.

[0058] At act 415, the simulation scenario is recorded in a simulation file that comprises for each of the industrial objects entries for the positions value when the position of the industrial object has changed as compared to a position value at a previous time interval.

[0059] At act 420, the simulation file is forwarded to the first computational resource. Of course, this forwarding includes that the second computational resource stores the simulation file in a library or in a cloud from where the first computational resource can download the simulation file.

[0060] At act 425, the simulation file is played on the first CAR tool that is installed on the first computational resource; said first CAR tool also comprising a representation of the industrial environment. Thus, the user of the first computational resources can see the simulation of the industrial object according to the data stored in the simulation file.

[0061] In embodiments, the simulation file can further comprise for each of the industrial object one or more of the following values: a) new joint values; b) indicator for creation or deletion of one or more of the industrial objects; c) input and/or output values of the industrial object; d) simulation log data; and/or e) collision detection information.

[0062] Further, the simulation file may comprise for each of the industrial object only then an entry when the value has changed as compared to an earlier value taken at an earlier time interval.

[0063] Furthermore, the first CAR tool might be enabled to selectively play the simulation file for a number of selectable industrial objects and/or for a selectable time period and/or wherein the second CAR tool might be enabled to selectively record and/or play the simulation file for a number of selectable industrial objects and/or for a selectable time period. Here, the user can select to see the simulation results only for a selectable number of industrial objects and/or for a selectable time period on the re-play side while the user on the record side can also run a simulation scenario only for a selectable number of industrial objects and/or for a selectable time period.

[0064] Typically, the industrial objects can be selected from a group of industrial objects, comprising Robots, Parts, Operators, AGVs, controllers and the like.

[0065] Of course, those of skill in the art will recognize that, unless specifically indicated or required by the sequence of operations, certain steps in the processes described above may be omitted, performed concurrently or sequentially, or performed in a different order.

[0066] Those skilled in the art will recognize that, for simplicity and clarity, the full structure and operation of all data processing systems suitable for use with the present disclosure is not being illustrated or described herein. Instead, only so much of a data processing system as is unique to the present disclosure or necessary for an understanding of the present disclosure is illustrated and described. The remainder of the construction and operation of data processing system 100 may conform to any of the various current implementations and practices known in the art.

[0067] It is important to note that while the disclosure includes a description in the context of a fully functional system, those skilled in the art will appreciate that at least portions of the present disclosure are capable of being distributed in the form of instructions contained within a machine-usable, computer-usable, or computer- readable medium in any of a variety of forms, and that the present disclosure applies equally regardless of the particular type of instruction or signal bearing medium or storage medium utilized to actually carry out the distribution. Examples of machine usable/readable or computer usable/readable mediums include: nonvolatile, hard- coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), and user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD- ROMs) or digital versatile disks (DVDs).

[0068] Although an exemplary embodiment of the present disclosure has been described in detail, those skilled in the art will understand that various changes, substitutions, variations, and improvements disclosed herein may be made without departing from the spirit and scope of the disclosure in its broadest form.

[0069] None of the description in the present application should be read as implying that any particular element, step, or function is an essential element which must be included in the claim scope: the scope of patented subject matter is defined only by the allowed claims.