voraus Simulation

Simulation is a crucial part during development of your application: Write, test and optimize your automation task in Python. Run the production cell by deploying the same code used during testing. Risks of commissioning are reduced drastically and software development is decoupled from hardware availability.

The voraus simulation of a pick and place application

Fig. 1 The voraus simulation of a pick and place application

The voraus Simulation is distributed as Python package (wheel) and as Docker image. Static and dynamic objects can be created with common 3D modeling tools if you can export Wavefront OBJ (.obj) for the physics models and glTF/GLB for the visual representation. More complex physical models are described using the URDF format and the behavior of the models is programmed using Python. One example of a simulation is seen in Fig. 1.

The voraus simulation architecture

Fig. 2 The voraus simulation architecture

For the simulation, the real components such as the voraus.core or the voraus EtherCAT Master are operated in simulation mode. Outputs are written by the program and inputs are read, just like in the real system. A simulation script describes the behavior of the real system by reading the outputs of the components, calculating the reactions and physical processes, and then setting the inputs of the components. This has the considerable advantage that the program can be executed directly on the real system after the simulation. In addition, the simulation can be displayed with the voraus 3D Visu in the web browser. An overview of the voraus Simulation architecture is shown in Fig. 2.

Requirements

  • License: You need a valid license key.

  • CodeMeter User Runtime: For licensing download it from the WIBU Website

  • Docker: Read more in the Docker documentation.

  • IDE: This example uses VS Code.

  • Dev Containers: The VS Code extension is used for the examples.

If you are interested in further information, please read the articles Developing inside a Container and Dev Containers tutorial.