Skip to content

Conversation

@jasiex01
Copy link

Overview

Author: Jan Hernas

Issue

Issue link: #557
Issue description: Image transport now (since Jazzy) supports intra-process communication so there is no need to create a separate publisher when ipc is enabled. I'd like to be able to take advantage of image transport functionalities even when using intra-process comms.

Changes

ROS distro: Jazzy
List of changes:

  • Image transport is now a default publisher even when ipc is enabled.

Testing

Hardware used: OAK-D W PRO

Visuals from testing

Launch file used:

<launch version="0.1.1">

  <node_container namespace=""
    name="oak_container"
    pkg="rclcpp_components"
    exec="component_container_isolated">
    <composable_node namespace=""
      name="oak"
      pkg="depthai_ros_driver"
      plugin="depthai_ros_driver::Camera">
      <extra_arg name="use_intra_process_comms" value="true" />
      <param from="$(find-pkg-share raph_bringup)/config/oak.yaml" />
    </composable_node>
    <composable_node namespace="oak"
      name="point_cloud_xyz"
      pkg="depth_image_proc"
      plugin="depth_image_proc::PointCloudXyzNode">
      <extra_arg name="use_intra_process_comms" value="true" />
      <remap from="image_rect" to="stereo/image_raw" />
      <remap from="camera_info" to="stereo/camera_info" />
    </composable_node>
  </node_container>

</launch>

Ros2 topics with image transport plugins and intra-process comms enabled:
ros2topiclist

@Serafadam
Copy link
Collaborator

Hi @jasiex01, thanks for the PR, just a minor question, why was lazy publishing check removed as well?

@jasiex01
Copy link
Author

Hi @jasiex01, thanks for the PR, just a minor question, why was lazy publishing check removed as well?

If you are talking about the detectSubscription function - it's because it is no longer used since all image publishing happens via image transport publisher. In the IT publisher the lazy subcription check happens with getNumSubscribers() > 0 check, so lazy publishing is still supported properly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants