1. Installation

The voraus.core can be installed and used for two scenarios. The main use case is to use the software with a real robot. Alternatively, the software can be installed and used virtually for evaluation purposes on a local device via Docker. Follow the chapter Installation for Virtual Evaluation Systems for detailed information.

1.1. Installation for Virtual Evaluation Systems

Note

This section covers the installation and management of virtual evaluation systems. The virtual systems are only for showcasing purposes and not capable of controlling real robots.

The voraus.core is delivered as a Docker image and can be executed on Docker-capable systems.

1.1.1. Prerequisites

The following software must be installed and configured on your machine before you can run the voraus.core.

Note

The software runs exclusively on x86 systems, ARM systems are not supported.

Windows WSL

Windows Subsystem for Linux v2 (WSL 2) must be enabled on your computer.

You can find more information in the Microsoft documentation.

Docker

Install Docker on your machine according to the official documentation.

Note

If you are using Windows, make sure you are using
  • the WSL 2 backend and not the Hyper-V backend.

  • Powershell instead of the legacy CMD terminal for all Docker terminal commands in this documentation.

You can check whether Docker is installed and configured properly by entering the following command into your Terminal.

docker info

If the command exits successfully, i.e. displays information about the Docker installation, everything is installed correctly.

WIBU CodeMeter User Runtime

The voraus.core is protected and licensed with WiBu CodeMeter. In order to run the software it is necessary to install the CodeMeter User Runtime which can be downloaded from the WiBu Support Page or installed as a Linux package from the WiBu Package Repository.

For Windows Users
  1. Select your operating system in the dropdown and download the newest version of the CodeMeter User Runtime.

  2. Run the installer and follow the instructions.

Note

Make sure CodeMeter is configured as a Network Server during the installation.

If you already have CodeMeter installed and want to configure it as a Network Server, follow the instructions in the WiBu support section.

Further information and support during installation can also be found in the WiBu user guide at any time. Go to the support section of WiBu and select the CodeMeter Runtime Installation Guide.

For Linux (Debian and Ubuntu) Users

Linux distributions favor so-called package managers for a centralized distribution of software packages and their potential updates in a similar fashion to an app store for smartphones. The package manager for Debian, Ubuntu, and several other Linux distros is called apt. It allows voraus - as the package’s maintainer - to provide digitally signed versions of it and install/update them as requested by the user.

The two steps to install the package repo for Ubuntu and Debian can be found here.

Afterwards installing the latest WiBu CodeMeter Runtime is a simple apt call:

sudo apt install codemeter-lite

Updating the package subsequently happens along with all other package updates:

sudo apt update
sudo apt upgrade

1.1.2. Activate Licenses on Your Machine

After the WiBu CodeMeter User Runtime has been successfully installed, the licenses need to be activated on your machine. Open the license activation link in your browser, which was provided to you by the voraus support.

Note

The license activation link has the following format:

https://lc.codemeter.com/90377/depot/overview.php?id=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX.

  1. On the page that lists the available licenses (Fig. 1) click on Activate Licenses.

List of available licenses

Fig. 1 List of available licenses

  1. From the list of available licenses, select the first checkbox and click on Activate Selected Licenses Now as shown in Fig. 2.

Select an available license

Fig. 2 Select an available license

  1. When asked whether a CmDongle or a CmActLicense should be used, select CmActLicense (Fig. 3).

Select container type

Fig. 3 Select container type

  1. The popup (Fig. 4) shows the license transfer progress. After the license has been activated successfully, confirm and close the dialog by clicking OK.

Confirm license activation

Fig. 4 Confirm license activation

  1. On the list of available licenses, the activated license is now marked as Activated (Fig. 5). The license activation process is now completed.

License marked as activated

Fig. 5 License marked as activated

1.1.3. Load Docker images

Download the Docker image archive file provided by voraus to your local machine. Then, load the Docker images contained in the archive with the terminal command

docker load -i <path-to-the-archive.tar.gz>

The progress should be visible in the output of the terminal. The following lines in particular are relevant for the next steps.

...
Loaded image: [...]/voraus-core:<core-image-tag>
...
Loaded image: [...]/voraus-codemeter:<codemeter-image-tag>

The tags of the Docker images voraus-core and voraus-codemeter must be used in the Docker Compose file which is explained later in this documentation.

1.1.4. Virtual Evaluation Docker Image

Example programs of the virtual evaluation docker image

Fig. 6 Example programs of the virtual evaluation image

In addition to the voraus.core docker image, an extended version of the docker image, the voraus-core-virtual-evaluation, is provided. The image contains additional resources that accelerate your journey with our software. It comes with exemplary robot programs (as shown in Fig. 6), a selection of additional commands created with the maker and a bundle of preinstalled scenes (check out the tutorial Load a preinstalled voraus.operator scene).

In order to use the virtual evaluation docker image, import it in the same way to the voraus.runtime as the base voraus.core image as described in Load Docker images. Then replace the voraus-core:<core-image-tag> with the voraus-core-virtual-evaluation:<core-image-tag> image reference at any place you need it, for example during the Docker Compose Environment.

1.1.5. Docker Compose Environment

Create a docker-compose.yml file in a persistent workspace directory. This file defines the software stack and is used for future updates, too.

Replace <codemeter-image-tag> and <core-image-tag> with the values from the terminal output above.

Listing 1 Example compose file for a virtual robot.
 1version: "3.3"
 2
 3services:
 4  codemeter:
 5    hostname: codemeter
 6    image: artifactory.vorausrobotik.com/docker/voraus-codemeter:<codemeter-image-tag>
 7    environment:
 8      # Use the CodeMeter runtime service on the host machine.
 9      LICENSE_SERVER: "host.docker.internal"
10    extra_hosts:
11      - "host.docker.internal:host-gateway"
12    restart: unless-stopped
13
14  voraus-core:
15    image: artifactory.vorausrobotik.com/docker/voraus-core:<core-image-tag>
16
17    environment:
18      # Robot control backend
19      VORAUS__components__voraus-robot-control__enabled: True
20      VORAUS__components__voraus-robot-control-py__enabled: False
21
22      # Robot specification
23      VORAUS__robot__robotType: "VORAUS_INDUSTRIAL_ROBOT"
24
25      # Licensing
26      CODEMETER_HOST: codemeter
27      VORAUS__components__voraus-license-handler__enabled: True
28      VORAUS_LICENSE_HANDLER__API_URL: http://host.docker.internal:22358
29
30    extra_hosts:
31      - "host.docker.internal:host-gateway"
32
33    ports:
34      # Port for the voraus.operator webapp.
35      # You can change it if the port 8080 isn't available,
36      # but make sure that you are changing it in later steps as well.
37      - 8080:80
38      # Port for the voraus license handler
39      - 8081:8081
40
41    restart: on-failure
42
43    volumes:
44      - "voraus_data_volume:/root/data/voraus/"
45      - "voraus_log_volume:/var/log/voraus/"
46
47volumes:
48  voraus_data_volume:
49    driver: local
50  voraus_log_volume:
51    driver: local

Most parts of the configuration are static and need no editing with the following exceptions:

Based on the desired robot to be used, the VORAUS__robot__robotType variable can be modified:

Table 1 Robot Type Configuration

Robot Model

VORAUS__robot__robotType

KUKA KR10 R1100-2

KUKA_KR_10_R1100_2

KUKA KR10 R1400-2

KUKA_KR_10_R1440_2

KUKA KR10 R900-2

KUKA_KR_10_R900_2

KUKA KR4 R600

KUKA_KR_4_R600

FANUC M-10iD/16S

FANUC_M_10ID_16S

FANUC M-20iD/25

FANUC_M_20ID_25

FANUC SR-3iA

FANUC_SR_3IA

FANUC LR 10iA/10

FANUC_LR_10IA_10

FANUC R-2000iC/125L

FANUC_R_2000IC_125L

VORAUS industrial robot

VORAUS_INDUSTRIAL_ROBOT

Agile Yu 5 Industrial

YU_5_INDUSTRIAL_13

The port section of the stack configuration defines the mapping of the voraus.core ports to the ports of the host system. A port mapping consists of the following pattern:

- {host-port}:{container_port}

Any port of the container can be mapped to a free port of the host system.

By default, the port of the voraus.operator is mapped from port 80 to port 8080. If port 8080 is already blocked by another service, simply adjust the mapping.

In order to start the voraus software, execute the following terminal command within your persistent workspace

docker compose up -d

After some seconds, the voraus.operator is available under the following link.

Note

A manual reload of the voraus.operator in the browser is necessary, if the page is already loaded. The updated configuration of the docker-compose file like the new VORAUS__robot__robotType will only be applied after a page refresh.

Note

If you change the port mapping of the voraus.operator in the docker-compose.yml file, you need to change it in the link as well.

The software can be stopped by executing

docker compose down