Autoware lidar_euclidean_cluster_detect not publishing anything
Ubuntu 16.04, ROS distro: Kinetic, ROS version: 1.12.14, Autoware version: 1.12.0
The only relevant documentation I found on this package is here: https://gitlab.com/autowarefoundation...
I'm playing a pcap file which is publishing to /points_raw, rviz is showing the points, but when I go into the Computing tab of the Runtime Manager and select lidar_euclidean_cluster_detect, nothing happens. I tried changing some of the parameters it has, like changing the input_points_node parameter to /points_raw, but nothing's worked. Is there something from the parameters I'm missing, or do I need to look in a completely different area? Thanks in advance for your help.
@syigzaw - What frame is your lidar data being published in?
I don't quite know what you mean by which frame. If you mean which topic, then the lidar data is being published on /points_raw. I also set lidar_euclidean_cluster_detect input_points_node parameter to /points_raw, to make sure it's listening to the right topic.
Is the node actually running? Maybe an error message was shown just after you clicked it on runtime manager. If it’s running can you see the topic points_cluster being published?
@syigzaw - Most messages (including
sensor_msgs/PointCloud2
) includes astd_msgs/Header
which has the fieldframe_id
. This determines the "frame of reference" in which the sensor data are being published. To find out which frame your sensor data are currently using, start replaying the data and runrostopic echo /points_raw | grep 'frame_id'
. The likely problem that you're having is that thelidar_euclidian_cluster_detect
node doesn't understand how to transform data from the frame in which your points are being published to the output frame (by default, the output frame isvelodyne
). It uses thetf
package and transforms which are being published in order to do this. If your data are being published with aframe_id
ofvelodyne
, then no transform is necessary. However, if your data are being published in another frame then a transform has to be calculated and if no static transform from your frame to the ...(more)@amc-nu - points_cluster shows in the list if I run rostopic list, so that shows that lidar_euclidean_cluster_detect is running, it's just not publishing anything to that topic. @Masimus5684 - the frame ID is velodyne
That’s not necessary true. Can you run instead rosnode list confirm it’s there and then rosnode info lidar_euclidean_cluster_detect?
# rosnode list /detection/lidar_detector/cluster_detect_visualization_01
/lidar_euclidean_cluster_detect
/rosout
/runime_manager_321_1575958087940
/rviz_1575958429925805053
/velodyne_nodelet
/velodyne_nodelet_manager
/velodyne_nodelet_manager_driver
# rosnode info lidar_euclidean_cluster_detect
Node [/lidar_euclidean_cluster_detect]
Publications:
/cluster_centroids [autoware_msgs/Centroids]
/detection/lidar_detector/cloud_clusters [autoware_msgs/CloudClusterArray]
/detection/lidar_detector/objects [autoware_msgs/DetectedObjectArray]
/points_cluster [sensor_msgs/PointCloud2]
/points_ground [sensor_msgs/PointCloud2]
/points_lanes [sensor_msgs/PointCloud2]
/rosout [rosgraph_msgs/Log]
Subscriptions:
/points_raw [sensor_msgs/PointCloud2]
/tf [unknown type]
/tf_static [unknown type]
Services:
/lidar_euclidean_cluster_detect/get_loggers
/lidar_euclidean_cluster_detect/set_logger_level
contacting node http://sf-pc11:38340/ ...
ERROR: Communication with node[http://sf-pc11:38340/] failed!