1. Introduction

This documentation describes the capabilities of the voraus Robot Control, including its motion core, robot interface and configuration, and the integration of custom kinematics components.

Note

Not all robot types are supported by voraus Robot Control. For example, FANUC robots are controlled via an alternative solution. While most of the functionality offered by voraus Robot Control can still be used, certain features may not be available for FANUC robots. If you have any questions or require assistance, please contact the voraus support.

This documentation is a preliminary version. It will be updated with each upcoming voraus.core release.

1.1. Scope & Audience

This documentation is intended for integrators and application developers who set up, configure, and operate a robot system with the voraus Robot Control. It describes the integration-level interfaces of the product, namely the configuration and data files, the motion and control capabilities, and the OPC UA server interface used to command and monitor the system from external applications.

It does not cover the mechanical or electrical installation of the robot hardware, nor the higher-level system concepts of the surrounding voraus product.

1.2. voraus Robot Control in Context

The voraus Robot Control is an integral component of the voraus.core and is delivered as part of the voraus release. It is distributed as a container image, so customers do not install it directly but receive it as part of the Docker image of their voraus product.

This results in two distinct categories of files that the integrator works with (see File Management for details):

  • Config files are part of the voraus.core release. They are read-only at runtime and define settings that do not change during operation. They are located in ${VORAUS_CONFIG_DIR}.

  • Data files are individual for each controller. They are located in ${VORAUS_DATA_DIR}. Data files are loaded once at startup and are managed exclusively by the voraus Robot Control: they must not be edited by hand, and no external tool can change a value while the controller is running. Their contents change only when the voraus Robot Control persists updated parameters itself (for example in response to commands received over the OPC UA interface).

A schematic overview of the voraus Robot Control architecture and its main building blocks (Motion Planner, Real-Time Context, fieldbus interface, and OPC UA server interface) is shown in Fig. 1.

1.3. How to Use This Documentation

The following chapters are ordered along a typical integration workflow. For a first commissioning of a robot system, the recommended reading order is:

  1. Robot Description - describe the robot kinematics, coordinate system conventions, and mechanical structure.

  2. File Management - understand how config and data files are organized, loaded, and persisted.

  3. Configurations - configure axis and Cartesian limits, limit sets, robot stops, and the workspace (constraints, boundary planes, forbidden volumes, and collision model).

  4. System and Motion Commands - command motions (PTP, LIN, CIRC, jogging) and configure motion blending.

  5. Cyclic Position Commands - execute externally generated trajectories cyclically via OPC UA.

The table below maps common integration tasks to the relevant chapter.

Task

Chapter

Model a robot, its kinematics and coordinate systems

Robot Description

Locate, edit, and persist configuration and data files

File Management

Configure limits, limit sets, robot stops, and the workspace

Configurations

Command motions and configure motion blending

System and Motion Commands

Stream cyclic position setpoints over OPC UA

Cyclic Position Commands

Note

Before operating real hardware, validate the configuration in a safe environment. The voraus Robot Control supports a virtual device / simulation mode (see the Virtual Device Support and Motion Simulation features below), which allows verifying that all config and data files load without errors, that the robot description behaves as expected, and that motion commands are executed as intended - without moving the physical robot.

1.4. Features

The voraus Robot Control provides the following features for industrial robot motion control and automation.

1.4.1. Motion Commands

  • Point-to-Point (PTP) Motion - Joint-space trajectory planning with velocity and acceleration control

  • Linear (LIN) Motion - Cartesian-space linear trajectory execution

  • Circular (CIRC) Motion - Cartesian-space circular trajectory execution with plane and orientation control

  • Jogging - Continuous manual motion in joint-space or Cartesian-space with automatic speed scaling to comply velocity restrictions or workspace constraints

  • Motion Blending - Smooth transitions between consecutive motion commands without stopping, including Cartesian blending, PTP-to-PTP, PTP-to-LIN, and LIN-to-PTP

  • Cyclic Position Commands - Real-time trajectory execution via OPC UA with synchronized cycle times

  • Velocity Scaling - Dynamic velocity scaling during motion execution

  • Jerk Limited Interpolation - Smooth trajectory generation with configurable jerk and snap

1.4.2. Configuration & Limits

  • Axis Limits - Per-axis velocity, acceleration, position, and torque limits

  • Cartesian Motion Limits - TCP translational and rotational velocity, elbow velocity, external force based on measured joint torques, and mechanical power monitoring

  • Limit Sets - Multiple configurable limit sets (MACHINE and user-defined) that can be activated and deactivated at runtime in T1 and Automatic Mode

1.4.3. Workspace Management

  • Cartesian Constraints - Cuboidal workspace boundaries with monitoring

  • Boundary Planes - Planar workspace restrictions defined with reference points

  • Forbidden Volumes - Spatial regions the robot cannot enter (cuboid, sphere, and cylinder shapes), configurable at runtime

  • Collision Model - Self-collision detection and tool collision monitoring using geometric approximations

  • Rescue Mode - Temporarily disable workspace monitoring to recover from limit violations

  • Violation Prevention - Prevent violation of these constraints during jogging by slowing down or applying a counter force in Hand-Guiding mode.

1.4.4. Stop & Safety Control

  • Multiple Stop Sources - Safe Stop 1 (SS1), Error Stop, and User Stop

  • Configurable Stop Methods - Quick stop, axes stop rapid, axes stop time-bases, and path stop time-bases with hierarchical priority and configurable durations

1.4.5. Coordinate Systems

  • Standard Coordinate Systems - Joint CS, Robot CS, Tool CS, Camera CS, and Flange CS

  • User-Defined Coordinate Systems - Up to 16 static user-defined reference frames

1.4.6. Robot Architecture & Kinematics

  • Denavit-Hartenberg (DH) Kinematics - Standard DH-based robot modeling

  • Multiple Robot Types - Support for serial six-axis robots, SCARA robots, gantry robots, and custom multi-axis kinematics

  • Passive and Coupled Joints - Support for mechanically coupled joints and gearbox-coupled wrist joints

  • Singularity Monitoring - Detection and avoidance during Cartesian jogging

1.4.7. Feedforward Control, Compliance & Force Control

  • Model Based Robot Dynamics - Rigid Robot Dynamics with support for custom dynamic parameters

  • Feedforward Control - Model-based feedforward torque compensation to minimize tracking error and enhance dynamic performance

  • Cartesian Impedance Control - Compliant motion with configurable stiffness parameters

  • Compliant Behaviour Near Limits - Resistance and stiffness at joint boundaries and near self-collisions

  • Hand-Guiding - Gravity compensation control for manual operation

1.4.8. I/O & Fieldbus Communication

  • Digital and Analog I/O - Signal handling for inputs and outputs

  • EtherCAT Fieldbus - Real-time fieldbus protocol with deterministic cycle management with support for FoE, CoE, and EoE

  • Various other Robot Communication Interfaces - Support controlling robots of various robot manufacturers

  • Virtual Device Support - Simulation mode for testing without physical hardware

1.4.9. Tool Management

  • Tool Library - Factory-provided and user-defined tool configurations

  • Tool Transformation - TCP offset and orientation configuration

  • Tool Collision Model - Tool-specific collision volume definition and monitoring

  • Configurable Tool States - Specify tool states based on inputs

  • Configurable Tool Commands - Configure tool commands, which can set outputs or apply dynamic tool transformation and mass offsets

1.4.10. Real-Time Execution

  • Deterministic Real-Time Cycles - Fixed-cycle motion kernel execution (100 Hz - 1000 Hz)

  • Motion Queue Management - Lookahead horizon configuration for motion command preparation

  • Motion Simulation - Virtual execution and path preview without physical hardware

1.4.11. OPC UA Server Interface

The OPC UA server interface is the primary integration point for external applications and higher-level control systems. It provides access to all of the capabilities described above, including commanding motions, configuring workspace constraints, limit sets, robot stops and coordinate systems, managing tools, and monitoring system states. External clients can interact with the voraus Robot Control without direct coupling to the real-time control layer.