finds.dev← search

// the find

Mariunil/ros2-opcua

★ 22 · C · updated Aug 2019

Communication between ROS 2 ecosystem and open source OPC UA PubSub implementation open62541

A 2019 student/research project bridging ROS 2 and OPC UA PubSub using open62541, implemented as hybrid gateway nodes in C/C++. Aimed at robotics developers who need to expose ROS 2 topics to industrial OPC UA infrastructure. Development stopped at stage 5.5 of an 11-stage roadmap.

The hybrid node approach is the right abstraction — wrapping a ROS 2 pub/sub with an OPC UA counterpart in the same process avoids running a separate bridge daemon. open62541 is a solid choice: it's a well-maintained C library with an active community. The repo ships working examples for both local and UDP-over-Ethernet scenarios, which is enough to prove the concept on a Raspberry Pi. The included OPC UA spec PDF and open62541 docs PDF in the repo are a nice touch for someone new to the standard.

Abandoned in 2019 — the open62541 API it was written against has changed significantly since then, so the code will not build against a current release without porting work. No build system beyond a single CMakeLists.txt and a text file installation guide; there's no CI, no Docker setup, and no package management. The OPC UA information model is flat and hardcoded — no semantic type hierarchy, no node IDs that mean anything beyond demo values, which the author acknowledges in stages 6-8 that were never reached. Security is entirely absent: no encryption, no authentication, and the author calls this out explicitly as a future stage, meaning you cannot use this in any production or externally-networked deployment.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →