3. URinterfaces Message Library

Universal Robots defined a range of custom ROS2 message types. Intention is to efficiently pass robot state to external and internal client nodes.

Interfaces are available as source code and should be compiled in target ROS2 environment.

3.1 Usage on robot

ROS docker images provided with URCap SDK should be used.

3.2 Usage off robot

Download from GitHub (TBD Repo Address), select tag with minimum Polyscope version that should be supported. Add to your project as a source code, and dependency. Compile with colcon.

More usage examples can be found in UR ROS2 examples repository (TBD repo address)

3.3 Versioning and compatibility

Message types are released together with public releases. Each release receives it’s own tag, and information in metadata (TBD file? tag name?) about versions of polyscope that are compatible.

Backwards compatibility will be maintained through all future versions.

Following example presents scenario where urinterfaces version 2.0.0 was released with public Polyscope release. Description in version tag will note minimum Polyscope version (ex. 10.5) that is needed. This library can be used with future Polyscope releases (10.1, 10.2, …).

Next example - incompatible release 3.0.0 released with future products (ex. Polyscope 12.0, ROS3) contains breaking changes, and message types from version 2.x.x are not guaranteed to work with future products beyond that point.

img