ros-perception / perception_pcl

PCL (Point Cloud Library) ROS interface stack
http://wiki.ros.org/perception_pcl
421 stars 332 forks source link

input_topics args performance difference for PointCloudConcatenateDataSynchronizer #411

Open etaoxing opened 1 year ago

etaoxing commented 1 year ago

I'm on ros-noetic (installed through robostack), and capturing point clouds from 4 RealSense cameras (using roslaunch realsense2_camera rs_camera.launch).

For some reason, there is a performance difference between the following (30 FPS for hard coded, 20-25 FPS for input_topics args).


hard coded:


<launch>
    <node pkg="nodelet" type="nodelet" name="pcl_manager" args="manager" output="screen" />

    <node name="point_cloud_concat" pkg="nodelet" type="nodelet" args="load pcl/PointCloudConcatenateDataSynchronizer pcl_manager" output="screen">
        <rosparam>
        approximate_sync: true
        queue_size: 10
        output_frame: world
        input_topics:
            - /82100000000x/depth/color/points
            - /82100000001x/depth/color/points
            - /82100000002x/depth/color/points
            - /82100000003x/depth/color/points 
        </rosparam>
    </node>

</launch>

input_topics args:

<launch>
  <arg name="cloud_in0" default="/camera0/depth/color/points" />
  <arg name="cloud_in1" default="/camera1/depth/color/points" />
  <arg name="cloud_in2" default="/camera2/depth/color/points" />
  <arg name="cloud_in3" default="/camera3/depth/color/points" />

  <node pkg="nodelet" type="nodelet" name="pcl_manager" args="manager" output="screen" />

  <node name="point_cloud_concat" pkg="nodelet" type="nodelet" args="load pcl/PointCloudConcatenateDataSynchronizer pcl_manager" output="screen">
    <rosparam>
    approximate_sync: true
    queue_size: 10
    output_frame: world
    </rosparam>
    <rosparam param="input_topics" subst_value="true">
        - $(arg cloud_in0)
        - $(arg cloud_in1)
        - $(arg cloud_in2)
        - $(arg cloud_in3)
    </rosparam>
  </node>
</launch>