There are several proven methods to bridge CODESYS and ROS 2. The choice depends on factors like performance needs, hardware constraints, and the nature of the project.
For decades, the worlds of industrial automation and mobile robotics have run on parallel, yet distinctly separate, tracks.
Achieving high performance requires careful architecture. Here are key considerations: codesys ros2
Historically, industrial automation and advanced software robotics existed in separate silos. PLCs excelled at rugged, predictable execution but lacked the capability to process complex 3D point clouds, execute dynamic path planning, or run machine learning models. Conversely, ROS 2 excelled at high-level robotics but lacked native, deterministic drivers for diverse industrial hardware protocols like EtherCAT, PROFINET, and EtherNet/IP.
A code generator parses CODESYS struct definitions and emits ROS2 .msg files and serialization/deserialization code. There are several proven methods to bridge CODESYS and ROS 2
subgraph main_pc [<b>Main Processing Unit (Linux/ROS 2 PC)</b>] ros2[<b>ROS 2 Stack</b><br/>▪ Navigation2 / MoveIt 2<br/>▪ SLAM & Perception<br/>▪ High-level Decision Making] bridge[<b>ROBIN ROS 2 Wrapper Node</b><br/>▪ Communicates via shared memory<br/>▪ Translates CODESYS <-> ROS 2 msgs] end
Introduces a translation layer; generally limited to non-real-time communication (cycle times > 10ms). 2. Native DDS Communication (High Performance) Achieving high performance requires careful architecture
Use CODESYS for safety-critical logic, I/O handling, and motion control, while using ROS2 for complex decision-making, mapping, navigation (SLAM), and computer vision.
Integrating CODESYS and ROS 2: The Future of Industrial Automation and Robotics