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.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.1.1. Release Notes - 2.19.0
Release Version: 2.19.0
Release Date: August 2025
Preamble
This release is for customers who use the voraus.core //virtual, voraus.core //FANUC or the voraus.core //KUKA.
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 robot:
KR C4 KUKA control cabinet
Required KUKA option packages are defined in WorkVisual installation and Setting up the RSI interface
Required voraus files, which are included in this release, are defined in Setting up the RSI interface
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 2ms to 1ms.
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_NAMEto 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 Circularhas been improved so that:Fewer errors occur.
The calculation methods
CENTERandANGLE_DIRECTIONare 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.1.2. Release Bundle - 2.19.0
The Docker image voraus-core in the version 2.19.0 has been successfully tested with:
voraus 3D Visu in version 0.16.0
voraus Simulation in version 0.9.7
voraus Robot Arm in version 1.3.0
And therefore is compatible with the voraus.pioneer Examples in version 1.2.0. It can also be used with the
voraus EtherCAT Master in version 1.1.0,
voraus EtherCAT Python Client in version 1.0.2,
and voraus Roboception in version 0.8.4.