Efficient RoboDK Tools for the Virtual Commissioning of Flexible Robotic Cells
Description
In today’s manufacturing industry, virtual models are widely used for machine and robot design to analyze behavior and optimize processes. However, there is a lack of unified methods and tools for simulating and virtually commissioning multi-brand robotic systems with distributed control in a single software environment. Coordinating PLCs (Programmable Logic Controllers) and robot controllers is crucial, especially as market demands push for shorter design cycles and faster time-to-market, requiring more efficient production processes. To address this, UNIMORE has developed a novel tool that enables co-simulation between RoboDK, dedicated to robot simulation and offline programming, and a PLC development platform like Beckhoff TwinCAT. Since these platforms don’t natively communicate, the tool facilitates data exchange, particularly the I/O signal values between the PLC program and virtual devices in RoboDK. This solution allows the design and commissioning phases to be conducted simultaneously, significantly reducing both time and costs. Additionally, it enables the PLC program to be optimized by testing different process sequences in the virtual environment. The tool was developed as part of the H2020 PeneloPe project (G.A. 958303, https://penelope-project.eu/) to perform offline tests of various process sequences and identify the optimal one for the specific use case. The initial demonstration involved replicating the robotic cell at UNIMORE’s lab within the RoboDK environment. The simulated process is the deburring of a cast iron carter, with key devices including a KUKA KR210 R2700 Prime robot, a tool warehouse, and a spindle. Once the 3D model was established, both the robot and PLC programs were written. These two programs, along with a Python-based interface, form the communication modules. RoboDK stores a list of all sub-programs the robot must execute during the production cycle. A main program waits for PLC input, triggering the appropriate sub-program. The Python interface, embedded in RoboDK, manages real-time communication, continuously updating I/O signals between RoboDK and TwinCAT. This setup allows engineers to simulate different process sequences, refine the PLC program, and optimize the entire system in a virtual setting. The next step involved applying this virtual commissioning tool to the Aerospace Pilot Line use case of the PeneloPe project. The technologies developed will be demonstrated at SAM|XL’s facility, using their gantry system. In this case, an enhanced version of the tool has been created, using ROS 2 as the system coordinator. In this setup, tasks and operations for each automated device modeled in RoboDK are managed through ROS. Asynchronous client-server communication is established between the two environments via the ROS rclpy library, allowing for effective task coordination. This version will be tested in SAM|XL’s facility to further validate its capabilities.
Files
Steps to reproduce
See the reported video tutorials and guidelines.