5. Releases

This chapter provides an overview of the latest product releases, including key updates and changes. It also outlines recommended product bundles to ensure optimal compatibility and performance.

5.1. 2.27.1 - August 2026

This section details the release notes for the Docker image voraus.core, version 2.27.1. It describes the changes, fixes, and improvements introduced in this version and provides information on the components it has been tested with.

5.1.1. Release Notes - 2.27.1

Release Version: 2.27.1

Release Date: August 2026

Preamble

  • This release is intended for customers using voraus.core in a virtual environment or with a real robot, see Currently integrated robot models for more details.

  • Not all changes and improvements described in these release notes have been tested on a physical system; some have been verified through virtual testing.

  • This release updates the CodeMeter runtime to version 9.10 and adapts the provided Compose files accordingly.

Requirements

  • This release includes the Docker-containerized voraus.core for evaluation on x86 systems. For the complete list, please check Hardware Requirements.

  • This release requires a license for the voraus.core.

  • Requirements to control a real robot are defined in Robot Requirements.

Breaking Changes

  • The latest tag is no longer available for the voraus Docker images. You must reference a specific image tag (version) directly in your Compose file. For details on updating the image tag, see Setting up the Runtime and Software Update.

Enhancements

  • Update the CodeMeter runtime to version 9.10. The Compose files provided with the voraus software manual have been adapted accordingly, see Setting up the Runtime.

Ongoing Improvements

As part of our continuous improvement, the following edge cases and finer details are being refined over the long term. They do not affect regular operation, but are listed here for transparency:

5.1.2. Release Bundle - 2.27.1

The Docker image voraus-core in the version 2.27.1 has been successfully tested with:

And therefore is compatible with the voraus.pioneer Examples in version 1.18.0. It can also be used with the:

5.2. 2.27.0 - June 2026

This section details the release notes for the Docker image voraus.core, version 2.27.0. It describes the changes, fixes, and improvements introduced in this version and provides information on the components it has been tested with.

5.2.1. Release Notes - 2.27.0

Release Version: 2.27.0

Release Date: June 2026

Preamble

  • This release is intended for customers using voraus.core in a virtual environment or with a real robot, see Currently integrated robot models for more details.

  • Not all changes and improvements described in these release notes have been tested on a physical system; some have been verified through virtual testing.

  • This release includes the support for Yaskawa robots as well as various bug fixes and improvements to stability and robustness.

Requirements

  • This release includes the Docker-containerized voraus.core for evaluation on x86 systems. For the complete list, please check Hardware Requirements.

  • This release requires a license for the voraus.core.

  • Requirements to control a real robot are defined in Robot Requirements.

Enhancements

  • Add support for Yaskawa robots with the YRC1000micro cabinet, see more details in the Yaskawa Robot Requirements:

    • Yaskawa GP25-12

    • Yaskawa HC10DTP

    • Yaskawa HC10DT-A10

Note

If you are interested in using Yaskawa robots with voraus.core, please contact the voraus support.

  • Add alarm subcodes for Yaskawa robots.

  • Update the voraus Robot Control documentation: voraus Robot Control.

Bug Fixes and Improvements

  • Improve inverse kinematics inside the internal cylinder.

Ongoing Improvements

As part of our continuous improvement, the following edge cases and finer details are being refined over the long term. They do not affect regular operation, but are listed here for transparency:

5.2.2. Release Bundle - 2.27.0

The Docker image voraus-core in the version 2.27.0 has been successfully tested with:

And therefore is compatible with the voraus.pioneer Examples in version 1.17.0. It can also be used with the:

5.3. 2.26.0 - May 2026

This section details the release notes for the Docker image voraus.core, version 2.26.0. It describes the changes, fixes, and improvements introduced in this version and provides information on the components it has been tested with.

5.3.1. Release Notes - 2.26.0

Release Version: 2.26.0

Release Date: May 2026

Preamble

  • This release is intended for customers using voraus.core in a virtual environment or with FANUC or KUKA robots.

  • Not all changes and improvements described in these release notes have been tested on a physical system; some have been verified through virtual testing.

  • Various bug fixes and improvements to the stability and robustness have been achieved with this release. Singularity monitoring is now active with this release.

Requirements

  • This release includes the Docker-containerized voraus.core for evaluation on x86 systems. For the complete list, please check Hardware Requirements.

  • This release requires a license for the voraus.core.

  • Requirements to control a real robot are defined in Robot Requirements.

Breaking Changes

  • Singularity monitoring is activated. This can be deactivated with an env variable if the movement of the robot is too restricted: VRC_DEACTIVATE_SINGULARITY_MONITORING: True. See also the overview of environment variables in the Deployment Example the section voraus Robot Control.

Enhancements

  • Update the voraus Robot Control documentation with content on blending, robot stops, and voraus conventions: voraus Robot Control.

  • Add singularity monitoring for robots.

  • Add support for FANUC M-20iB/35S.

  • Add collision models for:

    • FANUC M-20iD/35

    • FANUC M-20iB/35S

Bug Fixes and Improvements

  • PTP/Lin Blending:

    • Improve blending radius for special cases.

    • Various other improvements.

  • The transition time into the error stop ramp and out of the stop ramp is now configurable via the parameter transitionTimeAxesStop.

  • Add OPC UA nodes to publish DH parameters and axes kinematic data (type & rotation direction) from the robot struct.

  • Improve the error message of M-311. Add Cartesian pose and joint limits in the description text.

  • Fix spam error messages after an error occurred in position streaming.

  • For KUKA robots, the tool management via RSI can now be done in [mm]. Therefore, the voraus file voraus_cell.sub must be updated, see also the KUKA requirements.

Known Issues

  • Currently, when the user defines a very low TCP velocity limit (e.g., 100 mm/s), TCP velocity violations may occur during motion because the robot does not decelerate sufficiently to stay within the configured limit. No issues have been observed at velocity limits of 250 mm/s or above.

  • For PTP/Lin Blending, we have observed that the TimeOverride has little influence on the geometry of the blending segment.

  • Blending of PTP/Cart with a small segment length (1 mm/0.1°) might trigger an error on rare occasions.

  • The configured stop duration might be decreased by a few cycles if the stop was triggered at a negligible velocity.

Limitations for the use of the KUKA robot
  • Do not use the KUKA smartPad for jogging while the RSI script is running or paused (for example, to leave violated safety planes or for teaching). The robot moves back to the last commanded RSI pose as soon as the RSI script is continued. If you want to jog via the KUKA smartPad, please stop the RSI script beforehand and restart it after the jogging is finished.

  • Always reset voraus.operator error first before starting or restarting the RSI script on the KUKA smartPad. Otherwise, the robot may try to move and will most likely stop immediately, which may result in a loud “crack” from the robot, indicated by torque error on the smartPad.

5.3.2. Release Bundle - 2.26.0

The Docker image voraus-core in the version 2.26.0 has been successfully tested with:

And therefore is compatible with the voraus.pioneer Examples in version 1.16.0. It can also be used with the:

5.4. 2.25.0 - April 2026

This section details the release notes for the Docker image voraus.core, version 2.25.0. It describes the changes, fixes, and improvements introduced in this version and provides information on the components it has been tested with.

5.4.1. Release Notes - 2.25.0

Release Version: 2.25.0

Release Date: April 2026

Preamble

  • This release is intended for customers using voraus.core in a virtual environment or with FANUC or KUKA robots.

  • Not all changes and improvements described in these release notes have been tested on a physical system; some have been verified through virtual testing.

  • Various bug fixes and improvements to the stability and robustness have been achieved with this release.

Requirements

  • This release includes the Docker-containerized voraus.core for evaluation on x86 systems. For the complete list, please check Hardware Requirements.

  • This release requires a license for the voraus.core.

  • Requirements to control a real KUKA or FANUC robot are defined in Robot Requirements.

Breaking Changes

  • Failing robot tool commands now trigger errors instead of warnings (AddTool, ModifyTool, RemoveTool). These commands have an impact on the resulting robot movement. If any of these commands do not succeed, this will now result in a proper robot error.

Enhancements

  • Implement Cartesian velocity estimation for robots with reduced mobility.

  • Updated voraus Robot Control documentation: voraus Robot Control.

Bug Fixes and Improvements

  • PTP/Lin Blending:

    • Improve blending radius for special cases.

    • Various other improvements.

  • Improve transition into the stop error ramp: The transition into the braking ramp for axis-based stops has been made smoother and now lasts 0.1 seconds. This slightly increases the braking time for rapid stops as well as the acceleration during time-based axis stops.

Known Issues

  • Currently, when the user defines a very low TCP velocity limit (e.g., 100 mm/s), TCP velocity violations may occur during motion because the robot does not decelerate sufficiently to stay within the configured limit. No issues have been observed at velocity limits of 250 mm/s or above.

  • For PTP/Lin Blending, we have observed that the TimeOverride has little influence on the geometry of the blending segment.

  • Blending of PTP/Cart with a small segment length (1 mm/0.1°) might trigger an error on rare occasions.

  • Configured stop duration might be decreased by a few cycles if the stop was triggered at a negligible velocity.

Limitations for the use of the KUKA robot
  • Do not use the KUKA smartPad for jogging while the RSI script is running or paused (for example, to leave violated safety planes or for teaching). The robot moves back to the last commanded RSI pose as soon as the RSI script is continued. If you want to jog via the KUKA smartPad, please stop the RSI script beforehand and restart it after the jogging is finished.

  • Always reset voraus.operator error first before starting or restarting the RSI script on the KUKA smartPad. Otherwise, the robot may try to move and will most likely stop immediately, which may result in a loud “crack” from the robot, indicated by torque error on the smartPad.

5.4.2. Release Bundle - 2.25.0

The Docker image voraus-core in the version 2.25.0 has been successfully tested with:

And therefore is compatible with the voraus.pioneer Examples in version 1.15.0. It can also be used with the:

5.5. 2.24.0 - March 2026

This section details the release notes for the Docker image voraus.core, version 2.24.0. It describes the changes, fixes, and improvements introduced in this version and provides information on the components it has been tested with.

5.5.1. Release Notes - 2.24.0

Release Version: 2.24.0

Release Date: March 2026

Preamble

  • This release is intended for customers using voraus.core in a virtual environment or with FANUC or KUKA robots.

  • Not all changes and improvements described in these release notes have been tested on a physical system; some have been verified through virtual testing.

  • New features have been added with this release, such as the possibility of blending between linear (LIN) and joint point-to-point (PTP) robot motion commands.

  • Various bug fixes and improvements to the stability and robustness have been achieved with this release.

Requirements

  • This release includes the Docker-containerized voraus.core for evaluation on x86 systems. For the complete list, please check Hardware Requirements.

  • This release requires a license for the voraus.core.

  • Requirements to control a real KUKA or FANUC robot are defined in Robot Requirements.

Enhancements

  • PTP/Lin Blending, see more information in the section LIN/PTP Blending.

  • Updated voraus Robot Control documentation: voraus Robot Control.

  • Thread isolation:

    • Add parameter isIsolated to threadSettings (rtSettings.json) to configure a thread as isolated from other threads. All other threads will be prevented from running on the same CPU by disabling their CPU affinity on this CPU.

    • It is activated by default when cpuAffinity is defined as a single CPU (int) and must be explicitly disabled if not wanted. This flag will be ignored when cpuAffinity is defined as a CPU mask (list of bools) or configured as default (-1).

    • Add VRC_CPUAFFINITY_MAIN environment variable to enable pinning of the RC-MAIN thread (main voraus Robot Control thread) to a specific CPU ID directly without editing configuration files. It overrides the config value and only supports single CPU IDs but no affinity masks.

  • Add the new SendNextCyclicPositionBatch command to the OPC UA Interface. It enables sending multiple position frames for the position streaming in a single request, see voraus Robot Control documentation - Send Next Cyclic Position.

  • Reduced the minimum configurable robot stop time to 5 ms.

Bug Fixes and Improvements

  • A bug has been fixed that caused false positive self-collision errors.

  • Blending and motion planning have been improved by testing several corner cases.

Known Issues

  • Currently, when the user defines a very low TCP velocity limit (e.g., 100 mm/s), TCP velocity violations may occur during motion because the robot does not decelerate sufficiently to stay within the configured limit. No issues have been observed at velocity limits of 250 mm/s or above.

  • For PTP/Lin Blending, we have observed that the TimeOverride has little influence on the geometry of the blending segment.

Limitations for the use of the KUKA robot
  • Do not use the KUKA smartPad for jogging while the RSI script is running or paused (for example, to leave violated safety planes or for teaching). The robot moves back to the last commanded RSI pose as soon as the RSI script is continued. If you want to jog via the KUKA smartPad, please stop the RSI script beforehand and restart it after the jogging is finished.

  • Always reset voraus.operator error first before starting or restarting the RSI script on the KUKA smartPad. Otherwise, the robot may try to move and will most likely stop immediately, which may result in a loud “crack” from the robot, indicated by torque error on the smartPad.

LIN/PTP Blending

Blending between linear (LIN) and joint point-to-point (PTP) segments is now possible.

Note

This feature is currently in a testing stage and therefore disabled by default. It can be activated with the environment variable VRC_FEAT_CART_PTP_BLENDING: True.

Parametrization

The blending must be defined in percent (%). The blending parameter will be individually used for both segments.

If blending is specified in absolute distance (m) for the Cartesian segment, it is converted into a percentage parameter. The percentage parameter is then applied to the joint segment, this is shown in Fig. 228.

This results in no symmetric blending. That means, that the effective distance to the overblended point can be different in both segments.

Asymmetric blending between LIN and PTP segments with individually applied blending parameters

Fig. 228 Asymmetric blending between LIN and PTP segments with individually applied blending parameters

Blending Geometry

The exact geometry of the blending segment is not known.

  • The blending points only describe the points at which the robot enters and exits the blending segment.

  • It is to be expected that the robot will not leave the path immediately after the first blending point, it might remain on the original path until fading into the blended path.

  • Furthermore, it can return to the original path even before the second blending point.

  • The geometry of the blending segment depends on several factors, such as the resulting speed and acceleration settings of both segments (movement command setting and/or limit sets).

  • Furthermore, the set filter time, see system parameter, can also have an influence on the blending geometry. This topic is currently under investigation.

  • It is also expected that the blending segment geometry will differ depending on whether it is blended from LIN to PTP or from PTP to LIN.

The resulting velocity and acceleration along the blending segment are not known in the trajectory planning stage. However, they are monitored during interpolation.

The compliance of the configured jerk values is still under investigation. Nevertheless, no discontinuities or short peaks in the resulting acceleration profile have been observed until now.

5.5.2. Release Bundle - 2.24.0

The Docker image voraus-core in the version 2.24.0 has been successfully tested with:

And therefore is compatible with the voraus.pioneer Examples in version 1.14.0. It can also be used with the:

5.6. 2.23.0 - February 2026

This section details the release notes for the Docker image voraus.core, version 2.23.0. It describes the changes, fixes, and improvements introduced in this version and provides information on the components it has been tested with.

5.6.1. Release Notes - 2.23.0

Release Version: 2.23.0

Release Date: February 2026

Preamble

  • This release is intended for customers using voraus.core in a virtual environment or with FANUC or KUKA robots.

  • Not all changes and improvements described in these release notes have been tested on a physical system; some have been verified through virtual testing.

  • New features have been added with this release.

  • Various bug fixes and improvements to the stability and robustness have been achieved with this release.

Requirements

  • This release includes the Docker-containerized voraus.core for evaluation on x86 systems. For the complete list, please check Hardware Requirements.

  • This release requires a license for the voraus.core.

  • Requirements to control a real KUKA or FANUC robot are defined in Robot Requirements.

Breaking Changes

  • Increase the KUKA KR 10 R900-2 limitations (axis position, speed, …) to the data sheet values. This will alter the behavior of the robot.

Enhancements

  • Updated and added documentation of workspace configuration for voraus Robot Control: voraus Robot Control.

  • Minor refactorings in preparation for Cartesian <-> PTP blending.

  • Add virtual robot models for Universal Robots: UR15, UR12e and UR5/CB3

Bug Fixes and Improvements

  • The error handling mechanism has been updated. The subscription lifetime count has been increased, and logging has been improved to provide more detailed diagnostic information.

  • Fixed a parsing issue of the server search list with newer versions of CodeMeter.

  • Improved description in the OPC UA Server for voraus Robot Control:

    • Improved OPC UA description for Cartesian Constraints

    • Add prismatic joint information to OPC UA descriptions

  • Blending has been improved for several corner cases.

  • Prevent exceptions when writing crash logs using the generic EtherCAT interface.

  • Fixed a rare issue during symlink creation to the log file.

  • Add default initialization of ErrorListJSON.

  • Many improvements to the control of KUKA robots:

    • The RSI script can be continued after a robot error and no longer has to be restarted.

    • Improved error message upon releasing the ED during jogging.

    • KUKA safety errors are now propagated to the voraus.core properly.

    • voraus.core errors are now propagated to the KUKA controller properly.

Known Issues

Limitations for the use of the KUKA robot
  • Do not use the KUKA smartPad for jogging while the RSI script is running or paused (for example, to leave violated safety planes or for teaching). The robot moves back to the last commanded RSI pose as soon as the RSI script is continued. If you want to jog via the KUKA smartPad, please stop the RSI script beforehand and restart it after the jogging is finished.

  • Always reset voraus.operator error first before starting or restarting the RSI script on the KUKA smartPad. Otherwise, the robot may try to move and will most likely stop immediately, which may result in a loud “crack” from the robot, indicated by torque error on the smartPad.

5.6.2. Release Bundle - 2.23.0

The Docker image voraus-core in the version 2.23.0 has been successfully tested with:

And therefore is compatible with the voraus.pioneer Examples in version 1.13.0. It can also be used with the:

5.7. 2.22.0 - December 2025

This section details the release notes for the Docker image voraus.core, version 2.22.0. It describes the changes, fixes, and improvements introduced in this version and provides information on the components it has been tested with.

5.7.1. Release Notes - 2.22.0

Release Version: 2.22.0

Release Date: December 2025

Preamble

  • This release is intended for customers using voraus.core in a virtual environment or with FANUC or KUKA robots.

  • Not all changes and improvements described in these release notes have been tested on a physical system; some have been verified through virtual testing.

  • New features have been added with this release.

  • Various bug fixes and improvements to the stability and robustness have been achieved with this release.

Requirements

  • This release includes the Docker-containerized voraus.core for evaluation on x86 systems. For the complete list, please check Hardware Requirements.

  • This release requires a license for the voraus.core.

  • Requirements to control a real KUKA or FANUC robot are defined in Robot Requirements.

Breaking Changes

  • Refactored handling of CLI arguments and environment variables of the voraus Robot Control to comply with other components:

    • Changed precedence of options: cli > env > config

    • Renamed environment variables from VORAUS_RC_ to VRC_

    • Realtime configuration must be enabled via the CLI or the environment variable (VRC_USE_REALTIME_ENVIRONMENT)

Enhancements

  • Official documentation for the voraus Robot Control: voraus Robot Control.

  • Motor nominal torque is now configurable. The new config parameter Axes.DriveParameters.RatedMotorTorque is available in the config files. For more information see voraus Robot Control.

  • Automatic patch of outdated config files during voraus Robot Control startup, see voraus Robot Control.

  • Clean up of the main config file (config.json):

    • Removed unused section DataPublishing

    • Config version changed from 190004 to 190005

  • Clean up of the robot config file (<robotname>.json)

    • Remove unused parameter Axes.DriveParameters.MountingDirection

    • Remove unused parameter Axes.DriveParameters.Partnumber

  • Add support for the FANUC robot M-20iD/35.

Bug Fixes and Improvements

  • Improved blending stability

  • Fixed a TCP velocity limit violation

  • Fixed known issue from release 2.21.0: The tcpVelocityRotational now slows down the robot during PTP movements and within blending segments, to prevent any tcpVelocityRotational limit violations.

  • Fixed known issue from release 2.21.0: The tcpForce limit is now monitored. External sensors are needed.

  • Improved error messages.

  • Improved symlink handling while searching for JSON files.

  • Improved performance of limit management.

Known Issues

Limitations for the use of the KUKA robot
  • Do not use the KUKA smartPad for jogging while the RSI script is running or paused (for example, to leave violated safety planes or for teaching). The robot moves back to the last commanded RSI pose as soon as the RSI script is continued. If you want to jog via the KUKA smartPad, please stop the RSI script beforehand and restart it after the jogging is finished.

  • Always reset voraus.operator error first before starting or restarting the RSI script on the KUKA smartPad. Otherwise, the robot may try to move and will most likely stop immediately, which may result in a loud “crack” from the robot, indicated by torque error on the smartPad.

5.7.2. Release Bundle - 2.22.0

The Docker image voraus-core in the version 2.22.0 has been successfully tested with:

And therefore is compatible with the voraus.pioneer Examples in version 1.13.0. It can also be used with the:

5.8. 2.21.0 - October 2025

This section details the release notes for the Docker image voraus.core, version 2.21.0. It describes the changes, fixes, and improvements introduced in this version and provides information on the components it has been tested with.

5.8.1. Release Notes - 2.21.0

Release Version: 2.21.0

Release Date: October 2025

Preamble

  • This release is intended for customers using voraus.core in a virtual environment or with FANUC or KUKA robots.

  • Not all changes and improvements described in these release notes have been tested on a physical system; some have been verified through virtual testing.

  • New features have been added with this release.

  • Various bug fixes and improvements to the stability and robustness have been achieved with this release.

Requirements

Enhancements

  • Add partnumber as an optional parameter to the robot config file:

    • Listing 12 Exemplary entry in a Robot.json
      {
      "partnumber": "Partnummer12345-42.1",
      }
      
    • The part number is implemented as a string.

    • If the parameter is not set, unknown is used.

    • The part number is communicated via the OPC UA endpoint: Robot/RobotPartnumber, NodeID: 100015

  • Multiple parameter sets: It is now possible to define multiple user limit sets. The limit sets must be stored as JSON files in the following path: VORAUS_DATA_DIR/userLimitSets/.

    • All values are defined in the units [m], [°], [W], and [Nm], velocities in [m/s] and [°/s], and accelerations in [m/s^2] and [°/s^2].

    • For axis limits, 6 values must currently still be specified. The values for unused axes should be set to high values.

    • Listing 13 Exemplary MyLimit.json
      {
          "name": "MyLimit",
          "isActive": true,
          "axesAcceleration": [210.0, 210.0, 210.0, 210.0, 210.0, 210.0],
          "axesVelocity": [140.0, 140.0, 170.0, 180.0, 180.0, 180.0],
          "axesPositionMin": [-220.0, -310.0, -160.0, -310.0, -220.0, -360.0],
          "axesPositionMax": [220.0, 130.0, 160.0, 130.0, 220.0, 360.0],
          "axesTorqueRelative": [10.0, 10.0, 10.0, 5.0, 5.0, 5.0],
          "axesTorqueAbsolute": [200.0, 200.0, 200.0, 100.0, 100.0, 50.0],
          "tcpVelocityTranslational": 2.0,
          "tcpVelocityRotational": 360.0,
          "robotPower": 5000
      }
      
    • An overview of the limit parameters can be found at the section Limit definitions, also:

      • Limits are usually only monitored. If a limit is exceeded, the robot stops and an error is triggered. Please note that axes accelerations can be exceeded by a certain factor before an error is triggered, and external forces are not currently monitored.

      • Not all limits lead to an adjustment of the trajectory.

      • Not all limits can be used by every robot. Some limits require additional sensors (e.g., for external forces).

    • Key parameter: The “name" must be a unique string, and "isActive" describes whether the limit should be active when starting robot control. The names “MACHINE" and “SAFETY" can not be used for user limits.

    • All other parameters are optional, as seen in this example:

      Listing 14 Exemplary SLS.json
      {
          "name": "SLS",
          "isActive": false,
          "tcpVelocityTranslational": 0.25
      }
      
    • Limit sets are read during the start-up of voraus Robot Control. Changes to the JSON files during runtime are only applied after the next restart.

    • A list of existing limit sets can be viewed in OPC UA under Robot/Limitations/ListOfLimitSets (Node ID: 107200, Vector of strings).

    • The settings of the limit sets can be viewed using the OPC UA method Robot/Commands/Limitations/GetLimitSet (Node ID: 107004).

    • User-defined limit sets can be activated or deactivated using the commands Robot/Commands/Limitations/ActivateUserLimitSet (Node ID: 107002) and Robot/Commands/Limitations/DeactivateUserLimitSet (Node ID: 107003):

      • A limit set can only be activated/deactivated when the robot is at a standstill. The robot must also not be in ACTIVE or GRAVCOMP mode. MACHINE & SAFETY limit sets cannot be activated or deactivated.

      • These changes are not persistent. After a restart, the configuration of the config files is restored.

    • From all activated limit sets, the most restrictive limit is determined in each cycle and set as the active limit.

    • Active limits are published via OPC UA at Robot/Limitations/ActiveLimits/...

Bug Fixes and Improvements

  • A problem with jogging around the z-axis has been fixed.

  • Unnecessary standstill time after PTP commands that end in standstill has been removed.

Known Issues

  • The tcpVelocityRotational limit does not slow down the robot during PTP movements. In addition, limit violations may occur in blending segments.

  • The tcpForce limit is not monitored yet.

Limitations for the use of the KUKA robot
  • Do not use the KUKA smartPad for jogging while the RSI script is running or paused (for example, to leave violated safety planes or for teaching). The robot moves back to the last commanded RSI pose as soon as the RSI script is continued. If you want to jog via the KUKA smartPad, please stop the RSI script beforehand and restart it after the jogging is finished.

  • Always reset voraus.operator error first before starting or restarting the RSI script on the KUKA smartPad. Otherwise, the robot may try to move and will most likely stop immediately, which may result in a loud “crack” from the robot, indicated by torque error on the smartPad.

Limit definitions

Limit

Size

Unit

Used for

axesAcceleration

For each axis

Maximal axes acceleration [rad/s^2] (ROTATIONAL), [m/s^2] (PRISMATIC)

  • Acceleration of PTP commands

  • Limit for axes jogging acceleration

  • Rapid stop deceleration

  • Fallback deceleration in several stop methods

  • Plausibility checks

axesVelocity

For each axis

Maximal axes velocity [rad/s] (ROTATIONAL), [m/s] (PRISMATIC)

  • Check against:

    • measured values

    • commanded values

  • Limit for PTP commands

  • Limit for jogging velocities (Cart. & Joint)

  • The velocity slowdown of the current interpolating object

  • Transition into the stop ramp

axesPositionMin

For each axis

Minimal axes position [rad] (ROTATIONAL), [m] (PRISMATIC)

  • Position checks

    • Path planning

    • Measured values

    • Commanded values

  • Jogging slow down

axesPositionMax

For each axis

Maximal axes position [rad] (ROTATIONAL), [m] (PRISMATIC)

  • Position checks

    • Path planning

    • Measured values

    • Commanded values

  • Jogging slow down

axesTorqueRelative

For each axis

Maximal difference between measured and commanded torque on load side [Nm] (ROTATIONAL), [N] (PRISMATIC)

  • Check against:

    • measured values

axesTorqueAbsolute

For each axis

Maximal absolute measured torque on load side [Nm] (ROTATIONAL), [N] (PRISMATIC)

  • Check against:

    • measured values

    • commanded values

tcpVelocityTranslational

Scalar

Maximal TCP translational velocity [m/s]

  • Check against:

    • measured values

    • commanded values

  • Limit for Cartesian motion commands

  • Limit for jogging velocities (Cart. & Joint)

  • The velocity slowdown of the current interpolating object

tcpVelocityRotational

Scalar

Maximal TCP angular velocity [m/s]

  • Check against:

    • measured values

    • commanded values

  • Limit for Cartesian motion commands

  • Limit for jogging velocities (Cart. & Joint)

  • Comming soon:

    • Slow down for PTP

    • Fix problems in blending

tcpForce

Scalar

Maximal TCP measured force [N]

NOT CHECKED YET!

elbowVelocityTranslational

Scalar

Maximal elbow translational velocity [m/s]

  • Check against:

    • measured values

    • commanded values

  • The velocity slowdown of the current interpolating object

  • Limit for jogging velocities

robotPower

Scalar

Maximal robot mechanical power [W]

  • Check against:

    • measured values

5.8.2. Release Bundle - 2.21.0

The Docker image voraus-core in the version 2.21.0 has been successfully tested with:

And therefore is compatible with the voraus.pioneer Examples in version 1.12.0. It can also be used with the:

5.9. 2.20.0 - September 2025

This section details the release notes for the Docker image voraus.core, version 2.20.0. It describes the changes, fixes, and improvements introduced in this version and provides information on the components it has been tested with.

5.9.1. Release Notes - 2.20.0

Release Version: 2.20.0

Release Date: September 2025

Preamble

  • This release is intended for customers using voraus.core in a virtual environment or with FANUC or KUKA robots.

  • Various bug fixes and other improvements have been achieved with this release.

Requirements

Breaking Changes

  • rtsettings.json is now a mandatory config file. It is shipped by default. Robot control will terminate during startup if this file is missing or broken.

  • Jogging commands are now velocity-limited to not violate workspace limits (e.g., axis position limits).

  • Benchmark logs are now written into the log directory (/var/log/voraus/rt_benchmarks/).

Enhancements

  • Allow manually controlled commands in rescue mode (not on voraus.operator yet).

  • Add EtherCAT dcDelta (Distributed Clock) benchmark to evaluate synchronization.

Changes

  • Removed the encryption from the voraus-error-handler, so that feedback for missing licenses can be provided.

Bug Fixes and Improvements

  • A path planning bug has been fixed.

  • The histogram size of the motion planner benchmark has been adjusted.

  • The write directory of some EtherCAT benchmark files has been adjusted.

  • A ‘missing vision log file’ bug has been fixed.

Known Issues

Limitations for the use of the KUKA robot
  • Do not use the KUKA smartPad for jogging while the RSI script is running or paused (for example, to leave violated safety planes or for teaching). The robot moves back to the last commanded RSI pose as soon as the RSI script is continued. If you want to jog via the KUKA smartPad, please stop the RSI script beforehand and restart it after the jogging is finished.

  • Always reset voraus.operator error first before starting or restarting the RSI script on the KUKA smartPad. Otherwise, the robot may try to move and will most likely stop immediately, which may result in a loud “crack” from the robot, indicated by torque error on the smartPad.

5.9.2. Release Bundle - 2.20.0

The Docker image voraus-core in the version 2.20.0 has been successfully tested with:

And therefore is compatible with the voraus.pioneer Examples in version 1.12.0. It can also be used with the

5.10. 2.19.0 - August 2025

This section details the release notes for the Docker image voraus.core, version 2.19.0. It describes the changes, fixes, and improvements introduced in this version and provides information on the components it has been tested with.

5.10.1. Release Notes - 2.19.0

Release Version: 2.19.0

Release Date: August 2025

Preamble

  • This release is intended for customers using voraus.core in a virtual environment or with FANUC or KUKA robots.

  • New features have been added with this release.

  • Various bug fixes and improvements to the stability and robustness have been achieved with this release.

Requirements

Breaking Changes

  • Fixed ID-Parameter of the following OPC UA commands. The ID-Parameter now starts counting from 1 instead of 0, as stated by the parameter description. All requests that were, contrary to the function description, called with an ID of 0 will now fail:

    • EnableForbiddenVolume

    • RemoveForbiddenVolume

    • DisableForbiddenVolume

    • SetForbiddenVolumeCuboid

    • SetForbiddenVolumeCylinder

    • SetForbiddenVolumeSphere

    • EnableBoundaryPlane

    • RemoveBoundaryPlane

    • DisableBoundaryPlane

    • SetBoundaryPlane

Enhancements

  • Crash logs for the simulation.

  • Runtime data is saved to the voraus data directory and is still available after a restart. This includes the time override, stop parameters, and the active tool. The default directory in the Docker container is /root/data/voraus/voraus-robot-control/.

  • A new OPC UA command was added to set a desired time override with transition duration.

    • Robot/Commands/Control/SetTimeOverrideWithTransitionTime

    • NodeID: 100276

  • Increase the number of digital I/O modules:

    • Total number of modules: 2 Input, 2 Output.

    • Total number of IOs: 8 Inputs, 8 Outputs.

  • OPC UA error data - the list of pending errors is returned under Error.ErrorListJSON.

    • Can be read from the voraus.core - ErrorHandler (port 48404). Currently, this only provides a hardcoded list of errors. In the future, it will return the list of all pending errors of all components.

  • OPC UA fieldbus data - the OPC UA endpoints have been added under Fieldbus.EtherCAT for bus diagnostics.

    • If it is configured as a real fieldbus, the data is read out.

    • In the virtual example, parameters are loaded.

  • Functions have been added Robot.Commands.Fieldbus -> ResetMissingFrameInformation

  • Functions have been added Robot.Commands.Fieldbus.EtherCAT WriteSDO/ReadSDO functions for the SEW SDO interface.

  • An interface for FoE has been added to Robot.Commands.Fieldbus.EtherCAT.

  • Change the cycle time from 2 ms to 1 ms.

  • Robot stops are now configurable:

    • Stop ramps can be configured for different stop sources (ErrorStop, SS1, and UserStops). Prioritization of error sources: SS1 > ErrorStop > UserStop

    • Stop methods are: Rapid stop (all axes stop with max. acceleration), axes stop time-based (synchronous axis stop with defined duration), and on-path stop with defined duration.

    • On-path stop can only be executed for existing motion profiles (move commands & jogging).

    • It is not possible to change from an axis stop to an on-path stop.

  • Heartbeat - Keep-alive signal (OPC UA):

    • Clients can register themselves to send periodic heartbeats.

    • If a heartbeat signal from a client is not received in the specified interval, an error is raised.

    • OPC UA commands are located at Robot-Commands-Heartbeat, and status information is available at System- HeartbeatManager.

  • Add a new argument ForbiddenVolume to the SetForbiddenVolume commands in voraus Robot Control OPC UA interface. This argument is only a placeholder for the future division into forbidden volumes and workspaces. It is intended to avoid breaking changes in the future.

  • New ENV variable VORAUS_RC_FIELDBUS_INTERFACE_NAME to define the EtherCAT interface name. The config.json file no longer needs to be mounted.

  • Calculation of effective mass in task-space. The calculated value is published on KinematicsAndDynamics OPC UA node.

  • The linear velocity and position of the target point for effective mass are published on KinematicsAndDynamics OPC UA node.

  • Added an alternative link layer implementation, which can be enabled by specifying the environment variable ECAT_LINK_LAYER=MMAP. Evaluation of this implementation is ongoing; it might be removed in the future or used by default. The environment variable must be added to the Helm chart:

    env:
    name: ECAT_LINK_LAYER
    value: MMAP
    

Changes

  • Updated OPC UA library (open62541) to version 1.4.6.

  • The Python package opcua has been dropped and replaced in favor of asyncua.

  • Error handling: The list of possible errors now contains all system-control errors.

  • Adjusted motion profile filter length from 90 ms to 220 ms. Recommended from SEW to reduce jerk: Update of the config.json file from voraus Robot Control.

  • Changed the implementation of the rtBenchmark generation:

    • The timestamp format of the generated benchmark directories changed from MM.DD_HH:mm to YYYY-MM-DD–HH-mm-ss.

    • Known Issue: The histogram of the motion planner benchmark is currently limited to 2.5 ms; all measurements greater than this duration are capped. This is only a visual issue; it has no impact on the statistics (max, avg, p99).

  • File version of the main voraus Robot Control config changed from 190003 to 190004, and the VerboseTimingInformation field was removed (path to the file: /etc/voraus/voraus-robot-control/config.json).

Bug Fixes and Improvements

  • Improving the robustness of the shutdown process.

  • Improving the robustness of the error handler.

  • Bug fix for the limitation of higher movement speeds: the tolerance for the axis following the error might have been exceeded. The tolerance could be exceeded, but this has effectively disabled the axis position validation.

  • The command Move Circular has been improved so that:

    • Fewer errors occur.

    • The calculation methods CENTER and ANGLE_DIRECTION are more tolerant of inaccurate circle definitions.

  • Blending has been improved:

    • The calculation has been improved to be able to blend with a higher probability.

    • A bug has been fixed that occurred when a movement command was blended with 100 % on both sides (acceleration problem).

    • Bug fix for a “Blending-Nullptr” problem.

    • Various input validations and bugfixes for the jogging and blending interfaces.

    • Orientation blending path length:

    • Example:

      • pos1: z_rot = 0°, pos2: z_rot = 90°

      • Move: pos1 → pos2 → pos1 with 100 % Blending

      • Expected z_rot: 0° → 45° → 0°

      • Previously z_rot increased to > 45° in blending segment

    • An acceleration error after failed blending has been fixed.

  • The stop command has been improved:

    • Movement commands are now rejected while the robot executes the stop command.

    • Rapid stop and axis stop time-based brake ramps are smoothed. The acceleration jump at the end of the brake ramp has been replaced by a smooth transition to a standstill. This slightly increases the braking time of the rapid stop.

    • Stop ramps (rapid stop & axis time-based) have been improved.

    • During the break ramp, a quick stop will now be triggered if the expected break time is exceeded. Previously, this duration was fixed to 1 s.

  • The list of possible errors now contains all system-control errors.

  • Fixed duplicated loading of tool collision models.

  • TCP slows down as soon as it enters the slowdown area of a volume or plane and approaches the constraint.

  • Fixed duplicated loading of tool collision models.

  • Standstill detection has been improved. The brakes should not be enabled before the robot is in a standstill (noticed during brake tests).

    • Note: The resulting standstill tolerance value is slightly higher than in the prototype tests.

  • Stability improvement when the IPC boots up.

  • Fix spam in log: “Execute … with stop method: …”.

  • Improved error messages for boundary plane violation errors.

  • FieldBusSEW: A missing slave in an EtherCAT package does not directly trigger an error. The absence is only logged. Ultimately, other mechanisms will trigger once the slave is missing for multiple frames.

  • Fixed an issue in voraus-system-control that prevented a controlled stop of the voraus.core container, resulting in no benchmark statistics being written.

Known Issues

Limitations for the use of the KUKA robot
  • Do not use the KUKA smartPad for jogging while the RSI script is running or paused (for example, to leave violated safety planes or for teaching). The robot moves back to the last commanded RSI pose as soon as the RSI script is continued. If you want to jog via the KUKA smartPad, please stop the RSI script beforehand and restart it after the jogging is finished.

  • Always reset voraus.operator error first before starting or restarting the RSI script on the KUKA smartPad. Otherwise, the robot may try to move and will most likely stop immediately, which may result in a loud “crack” from the robot, indicated by torque error on the smartPad.

5.10.2. Release Bundle - 2.19.0

The Docker image voraus-core in the version 2.19.0 has been successfully tested with:

And therefore is compatible with the voraus.pioneer Examples in version 1.12.0. It can also be used with the