zed-ros-wrapper: Cannot launch rtabmap stereo sync

I have a ZED M camera and I want to send the images remotely to my PC. My TF tree is good and no problem there. When I run the example launch file called zed_rtabmap.launch everything works but when I try to launch this file:

<launch>

 <include file="$(find zed_wrapper)/launch/zedm.launch"/>
  

  <arg name="rate" default="15"/>
  <arg name="approx_sync" default="true"/>

  <node pkg="nodelet" type="nodelet" name="data_throttle" args="standalone rtabmap_ros/stereo_sync" output="screen">
      <param name="compressed_rate" type="double" value="$(arg rate)"/>
      <param name="approx_sync" type="bool" value="$(arg approx_sync)"/>
    
      <remap from="left/image_rect" to="zed/zed/left/image_rect_color"/>
      <remap from="right/image_rect" to="zed/zed/right/image_rect_color"/>
      <remap from="left/camera_info" to="zed/zed/left/camera_info"/>
      <remap from="right/camera_info" to="zed/zed/right/camera_info"/>

      <remap from="rgbd_image" to="rgbd_image"/>
    </node>

	
</launch>

I get this warning and I cannot launch data_throttle:

/data_throttle: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set. 
/data_throttle subscribed to (approx sync):
   /zed/zed/left/image_rect_color,
   /zed/zed/right/image_rect_color,
   /zed/zed/left/camera_info,
   /zed/zed/right/camera_info

However all the topics are being published at 30 Hz.

Here is my zedm.launch

<launch>
    <arg name="svo_file"             default="" /> <!-- <arg name="svo_file" default="path/to/svo/file.svo"> -->
    <arg name="stream"               default="" /> <!-- <arg name="stream" default="<ip_address>:<port>"> -->

    <arg name="node_name"            default="zed" />
    <arg name="camera_model"         default="zedm" /> <!-- 'zed' or 'zedm' -->
    <arg name="publish_urdf"         default="true" />

    <group ns="zed">
        <include file="$(find zed_wrapper)/launch/zed_camera.launch">
            <arg name="svo_file"            value="$(arg svo_file)" />
            <arg name="stream"              value="$(arg stream)" />
            <arg name="node_name"           value="$(arg node_name)" />
            <arg name="camera_model"        value="$(arg camera_model)" />
            <arg name="publish_urdf"        value="$(arg publish_urdf)" />
        </include>
    </group>
</launch>

And my zed_camera.launch:

<launch>
    <!-- Camera Model -->
    <arg name="node_name"             default="zed_node" />

    <!-- Camera Model -->
    <arg name="camera_model"          default="zedm" /> <!-- 'zed' or 'zedm' -->

    <!-- Load SVO file -->
    <arg name="svo_file"              default="" /><!-- <arg name="svo_file" default="path/to/svo/file.svo"> -->
    <!-- Remote stream -->
    <arg name="stream"                default="" /> <!-- <arg name="stream" default="<ip_address>:<port>"> -->

    <!-- Publish ZED urdf -->
    <arg name="publish_urdf"          default="true" />

    <!-- Publish ZED urdf -->
    <arg name="publish_tf"            default="false" />
    <arg name="publish_map_tf"        default="false" />

    <arg name="camera_id"             default="-1" />
    <arg name="gpu_id"                default="-1" />

    <!-- ROS URDF description of the ZED -->
    <group if="$(arg publish_urdf)">
        <param name="zed_description" textfile="$(find zed_wrapper)/urdf/$(arg camera_model).urdf" />
        <node name="zed_state_publisher" pkg="robot_state_publisher" type="state_publisher">
            <remap from="robot_description" to="zed_description" />
        </node>
    </group>

    <node name="$(arg node_name)" pkg="zed_wrapper" type="zed_wrapper_node" output="screen" required="true"><!-- launch-prefix="valgrind" -->
        <rosparam file="$(find zed_wrapper)/params/common.yaml" command="load" />
        <rosparam file="$(find zed_wrapper)/params/$(arg camera_model).yaml" command="load" />

        <!-- SVO file path -->
        <param name="svo_file"          value="$(arg svo_file)" />

        <!-- Remote stream -->
        <param name="stream"            value="$(arg stream)" />

        <!-- Publish ZED urdf -->
        <param name="tracking/publish_tf"        value="$(arg publish_tf)" />
        <param name="tracking/publish_map_tf"    value="$(arg publish_map_tf)" />

        <!-- Camera ID -->
        <param name="general/zed_id"             value="$(arg camera_id)" />

        <!-- GPU ID -->
        <param name="general/gpu_id"             value="$(arg gpu_id)" />
        <param name="general/base_frame"         value="base_footprint" />
    </node>
</launch>

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 31 (14 by maintainers)

Most upvoted comments

I will update you tomorrow