A robotic digital twin becomes useful when it helps explain what changes after a program edit. Moving a pick point, changing a speed or encountering a closed CNC door can affect the whole sequence. With SLX CellProof, Silicon LogiX brings these questions into a desktop application: a demonstration UR5e-CNC workcell, offline programming, a scenario campaign and cycle comparison over time.
The project centres on a digital model of the workcell and its sequences. The 3D scene makes simulator behaviour visible; baselines, events and replay help compare changes. Version 0.5.0 Preview adds persistent projects, recoverable autosaves, a Windows installer and explicit update checks. The software runs locally without a mandatory account.
What is a robotic digital twin used for?
In manufacturing, a digital twin connects a digital representation with models, data and behaviours of the system it describes. The NIST programme on digital twins for advanced manufacturing also addresses synchronization, measurement and model trustworthiness. A 3D shape is therefore a starting point: useful decisions require interpretable state and a declared scope.
CellProof applies these ideas to a nominal demonstration workcell. A robot moves parts between defined stations, interacts with a simulated gripper, digital signals and CNC machine, and follows an editable program. The practical aim is to propose a change, run repeatable checks and find the moment when behaviour diverges. The model is not presented as a calibrated replica of a physical installation.
The application separates offline cycle simulation from read-only RTDE controller monitoring. Receiving telemetry does not automatically calibrate the virtual cell or turn the simulator into a robot controller.
Offline programming for a UR5e-CNC workcell
The Programming workspace combines an editor and the 3D cell. The SLX demonstration language includes joint-space PTP moves, Cartesian LIN segments, gripper commands, IO waits and CNC instructions. Taught points are editable; the pendant provides joint and Cartesian jog and single-instruction stepping. Orbit, zoom, markers and trails put positions in the context of the workcell.
Actual CellProof 0.5.0 screenshot. The editor and 3D view share simulator state; the displayed commands act on the demonstration model.
A first session can start by choosing part A or B, validating the recipe and running the cycle. Save a baseline, change one condition and choose Verify change. SLX is the demonstrator's language: this release does not send that program to a controller or provide a URScript postprocessor for physical execution.
Scenario verification: faults and recovery matter
A successful nominal run still leaves questions open. What happens when feedback is missing? How does an interruption affect the sequence? Which pose and state remain after recovery? CellProof executes eight model scenarios, including fault and recovery cases. Results are computed by the simulation rather than taken from a prewritten report.
A reference baseline makes a change testable. For example, editing a pick point can cause a missed pick: the part is not silently moved to match the new point and force a successful outcome. An obstruction fixture also exercises a geometric case at the CNC entrance. Diagnostics and outcomes help distinguish the expected result from an issue that needs investigation.
These behaviours provide a concrete basis for discussing automation requirements: progression conditions, IO confirmations, interruption handling and recovery criteria. Reported times and outcomes describe the selected model; they do not constitute plant acceptance testing.
Cycle Inspector: synchronized baseline and variant replay
Cycle Inspector records the current and reference simulated cycles separately. Both 3D views can follow the same timeline position; lanes show executed phases, door, grip and IO state. Playback, pause, scrubbing and event navigation let an operator revisit a cycle without manually repeating every step.
Artistic interpretation of cycle comparison: corresponding moments and paths help explain a difference. This is a conceptual illustration, not an application screenshot or a measurement.
The first sampled difference identifies the earliest observed difference in the compared samples. It is a starting point for investigation, rather than an automatic root-cause diagnosis. Notes and bookmarks preserve analysis context. JSON export saves the recording; CSV exposes samples from both runs, joints, TCP, CNC and IO for external analysis.
Cycle Inspector in version 0.5.0. Replay and timelines use nominal simulator recordings; imported local recordings are marked as unverified.
Recordings use 100 ms samples, with a maximum duration of 600 seconds per run. Sampling makes observed states comparable, but does not add continuous geometry checking between samples or measure physical robot timing. This release records the simulator; synchronized hardware trace acquisition would be a separate integration.
The technology stack: Godot 4, GDScript and C++20
Godot Engine provides the desktop interface and 3D visualization. CellProof uses Godot 4.5.2 and GDScript for panels, interaction tools and state presentation. Workcell models are distributed as GLB assets. Programming, verification and cycle inspection share the same graphical environment.
A C++20 core handles nominal kinematics, sequence execution, validation, scenarios and RTDE connectivity. It communicates with the interface through a local JSON message API. This separation supports checking model operations independently of animation. The Windows release includes the compiled core required to run the application.
The public repository contains the Godot interface, documentation, selected assets, publication checks and an approved core binary. Native implementation and private issuing and signing tools are excluded. Original SLX content uses the Silicon LogiX Evaluation License 1.0; Godot and other dependencies retain their respective licences, included with the distribution.
RTDE and URSim: observing controller data
Real-Time Data Exchange, RTDE is the Universal Robots interface for exchanging data with external applications. A configured recipe specifies the transmitted fields. Joint values, timestamps and status need to be interpreted together; the manufacturer's documentation also describes skipped output packages under controller load.
CellProof subscribes to an output-only recipe. Received joint data drives the view, while stale data is reported. The path has been exercised with the official URSim e-Series 5.23.0 virtual controller. URSim is a manufacturer component prepared separately. CellProof sends no URScript, RTDE input recipes or physical motion commands.
Persistent projects, recoverable autosaves and Windows installation
A .cellproof document stores the recipe, taught points, reference baseline, scenario settings, recordings, notes and view configuration. The Project menu provides open, save, recent documents and recovery actions. Recipe-only JSON remains available when exchanging just the program and its configuration.
Recoverable autosaves preserve unfinished work. Project saves use native atomic replacement on Windows, retain a previous complete copy and detect conflicting changes on disk. Actions replacing a project offer Save, Discard or Cancel. Reopening leaves the simulator idle: a document does not autonomously resume a cycle or establish a hardware connection.
The Inno Setup installer works per user and offers shortcuts and optional file association. A portable package is also available. Update checking starts with an explicit operator action, uses the official repository and verifies the installer's SHA-256 checksum. Version 0.5.0 is an unsigned preview: the checksum checks download integrity; it does not authenticate a publisher.
Model boundaries and a path to a physical workcell
CellProof uses nominal kinematics and sampled geometry proxies. It does not provide self-collision, continuous swept-volume checking or complete mesh collision validation. Demonstration metrology is synthetic. Software checks, including automated GitHub validation, cover this scope; they do not qualify installation safety, physical accuracy or hardware cycle times.
A dedicated project can start with workcell CAD, robot calibration, measured base and TCP frames and agreed acceptance criteria. Proposed extensions include controller trace and PLC IO correlation, OPC UA monitoring, trajectory evaluation with MoveIt 2, and virtual commissioning environments using Gazebo and ros2_control. These require implementation and validation for the agreed installation; they are not executable modules included in this preview.
Download SLX CellProof and try offline cycle comparison
The 0.5.0 Preview release provides a Windows x64 installer, portable archive, public source bundle and checksums. Extract the whole portable directory and keep the executable, resources and core binary together. The product interface, Help and documentation are in English.
For a first experiment, validate the nominal recipe, save a baseline, change a point or speed and compare the scenario outcomes. Record the cycle in Cycle Inspector, locate the first differing sample and save a note in the project. This connects programming, outcome and analysis in a short workflow.
See the official repository, user guide and validation scope. To discuss a calibrated model or a dedicated application, contact Silicon LogiX with the robot, machine, available data and verification objective. This demonstrator is part of our work on custom software development for industrial systems.
Frequently asked questions
Can I try CellProof without a physical robot?
Yes. Programming, scenario verification and Cycle Inspector use the included local simulator. URSim is only needed to exercise the separate virtual-controller connection.
Does the preview control a physical UR5e?
No. RTDE monitoring is read only and the SLX language runs in the simulator. Physical motion, calibration and commissioning need a dedicated integration.
Does a passing result guarantee collision-free motion?
No. Outcomes concern the simplified sampled checks implemented by the model. They do not replace workcell validation or independent safety functions.
Can I continue an analysis after closing the application?
Yes. A .cellproof project preserves baselines, recordings, notes and settings. Autosaves and the previous complete save provide recovery options.
Technology references and further reading
- NIST: digital twins for advanced manufacturing.
- Godot 4.5 engine introduction.
- Universal Robots RTDE guide and official UR robot descriptions.
- CellProof: requirements and references for proposed integrations.
Canonical source: Robotic digital twin: offline verification with SLX CellProof.



Top comments (0)