We’ve been working on a REP that proposes a feature in
rclcpp to make it easier to convert between ROS types and custom, user-defined types. This will be especially useful when mapping complex types like OpenCV’s
cv::Map to ROS’s
sensor_msgs/msg/Image, using a helper class like cv_bridge’s CvImage.
This feature is similar to ROS 1’s adapted types, but will hopefully be simpler to use and should allow zero-copy operations for intra-process communication.
We have a REP that is ready to be accepted and a reference implementation: type adaptation has been implemented for publishers and subscribers although not supporting zero-copy operations for intra process communication.
We’re interested in any feedback on the REP. Let’s try to keep all discussion on the PR, so that we don’t have the same conversation going in different places