In order to concanate the lidar point cloud datas from the rosbag file I recorded before, I cannot subscribe to the topics in the preprocessing.launch file however I tried to many ways to subscribe. Anyone have an idea?
Here’s my launch file and rqt_graph:
Note: I recorded the rosbag with only 2 lidars(you can see as /velodyne_points_01 and /velodyne_points_04) just for now and that’s why I deleted if condition part from the launch file for concat filter and try to adapt my situation.
Also when I launch the preprocessing.launch file I got this error:
[ERROR] [1628676610.166239566]: Skipped loading plugin with error: XML Document ‘/home/nisa/workspace/AutowareArchitectureProposal.iv/install/traffic_light_ssd_fine_detector/share/traffic_light_ssd_fine_detector/traffic_light_ssd_fine_detector.xml’ has no Root Element. This likely means the XML is malformed or missing…
[ INFO] [1628677513.596157724]: Initializing nodelet with 16 worker threads.
[ INFO] [1628677513.601915580]: waitForService: Service [/pointcloud_preprocessor/pcl_manager/load_nodelet] is now available.
[ WARN] [1628677518.640897647]: This node/nodelet subscribes topics only when subscribed.
[ WARN] [1628677518.724132091]: This node/nodelet subscribes topics only when subscribed.
<launch>
<arg name="input_points_raw0" default="/velodyne_points_01"/>
<arg name="input_points_raw1" default="/velodyne_points_04"/>
<arg name="input_points_raw2" default=""/>
<arg name="input_points_raw3" default=""/>
<arg name="input_points_raw4" default=""/>
<arg name="input_points_raw5" default=""/>
<arg name="input_points_raw6" default=""/>
<arg name="input_points_raw7" default=""/>
<arg name="input_points_number" default="2"/>
<arg name="output_points_raw" default="/points_raw/cropbox/filtered"/>
<arg name="tf_output_frame" default="base_link"/>
<!-- nodelet manager -->
<group ns="pointcloud_preprocessor">
<node pkg="nodelet" type="nodelet" name="pcl_manager" args="manager" output="screen" />
<!-- concat filter -->
<group if="$(eval input_points_number!=1)">
<node pkg="nodelet" type="nodelet" name="concatenate_filter" args="load pcl/PointCloudConcatenateDataSynchronizer pcl_manager" output="screen">
<rosparam param="input_topics" subst_value="true">[$(arg input_points_raw0), $(arg input_points_raw1)]</rosparam>
<remap from="~output" to="points_raw/concatenated" />
<param name="output_frame" value="$(arg tf_output_frame)" />
<param name="approximate_sync" value="true" />
<!--
<rosparam if="$(eval input_points_number==2)" param="input_topics" subst_value="true">[$(arg input_points_raw0), $(arg input_points_raw1)]</rosparam>
<rosparam if="$(eval input_points_number==3)" param="input_topics" subst_value="true">[$(arg input_points_raw0), $(arg input_points_raw1), $(arg input_points_raw2)]</rosparam>
<rosparam if="$(eval input_points_number==4)" param="input_topics" subst_value="true">[$(arg input_points_raw0), $(arg input_points_raw1), $(arg input_points_raw2), $(arg input_points_raw3)]</rosparam>
<rosparam if="$(eval input_points_number==5)" param="input_topics" subst_value="true">[$(arg input_points_raw0), $(arg input_points_raw1), $(arg input_points_raw2), $(arg input_points_raw3), $(arg input_points_raw4)]</rosparam>
<rosparam if="$(eval input_points_number==6)" param="input_topics" subst_value="true">[$(arg input_points_raw0), $(arg input_points_raw1), $(arg input_points_raw2), $(arg input_points_raw3), $(arg input_points_raw4), $(arg input_points_raw5)]</rosparam>
<rosparam if="$(eval input_points_number==7)" param="input_topics" subst_value="true">[$(arg input_points_raw0), $(arg input_points_raw1), $(arg input_points_raw2), $(arg input_points_raw3), $(arg input_points_raw4), $(arg input_points_raw5), $(arg input_points_raw6)]</rosparam>
<rosparam if="$(eval input_points_number==8)" param="input_topics" subst_value="true">[$(arg input_points_raw0), $(arg input_points_raw1), $(arg input_points_raw2), $(arg input_points_raw3), $(arg input_points_raw4), $(arg input_points_raw5), $(arg input_points_raw6), $(arg input_points_raw7)]</rosparam>-->
</node>
</group>
<!-- crop box filter -->
<node pkg="nodelet" type="nodelet" name="crop_box_filter_mesurement_range" args="load pointcloud_preprocessor/crop_box_filter_nodelet pcl_manager" output="log">
<remap if="$(eval input_points_number==1)" from="~input" to="$(arg input_points_raw0)" />
<remap if="$(eval input_points_number!=1)" from="~input" to="points_raw/concatenated" />
<remap from="~output" to="$(arg output_points_raw)" />
<rosparam>
min_x: -200.0
max_x: 1000.0
min_y: -50.0
max_y: 50.0
min_z: -2.0
max_z: 3.0
negative: False
</rosparam>
<param name="input_frame" value="$(arg tf_output_frame)" />
<param name="output_frame" value="$(arg tf_output_frame)" />
</node>
</group>
</launch>
```![with_ringfilter|690x229](upload://hkzSTY2aDc1pIkWoz5omexwAoBn.png)