Ask Your Question
1

Autoware lidar_euclidean_cluster_detect not publishing anything

asked 2019-12-10 01:10:16 -0600

syigzaw gravatar image

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.

edit retag flag offensive close merge delete

Comments

@syigzaw - What frame is your lidar data being published in?

Josh Whitley gravatar imageJosh Whitley ( 2019-12-16 16:00:10 -0600 )edit

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.

syigzaw gravatar imagesyigzaw ( 2019-12-16 16:18:45 -0600 )edit

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?

amc-nu gravatar imageamc-nu ( 2019-12-16 16:23:31 -0600 )edit

@syigzaw - Most messages (including sensor_msgs/PointCloud2) includes a std_msgs/Header which has the field frame_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 run rostopic echo /points_raw | grep 'frame_id'. The likely problem that you're having is that the lidar_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 is velodyne). It uses the tf package and transforms which are being published in order to do this. If your data are being published with a frame_id of velodyne, 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)

Josh Whitley gravatar imageJosh Whitley ( 2019-12-16 16:26:53 -0600 )edit

@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

syigzaw gravatar imagesyigzaw ( 2019-12-16 16:42:28 -0600 )edit

points_cluster shows in the list, so that shows that lidar_euclidean_cluster_detect is running

That’s not necessary true. Can you run instead rosnode list confirm it’s there and then rosnode info lidar_euclidean_cluster_detect?

amc-nu gravatar imageamc-nu ( 2019-12-16 17:01:10 -0600 )edit

# 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

syigzaw gravatar imagesyigzaw ( 2019-12-16 17:05:16 -0600 )edit

# 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!

syigzaw gravatar imagesyigzaw ( 2019-12-16 17:05:42 -0600 )edit

1 Answer

Sort by » oldest newest most voted
0

answered 2019-12-17 10:48:41 -0600

syigzaw gravatar image

The solution is to find your internal IP address, I did this using hostname -I. Take an address from the output and enter export ROS_IP=<address> across all terminals. After that, restart the runtime manager and whatever scripts you need to run.

Thanks to @amc-nu for helping me with this question.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2019-12-10 01:10:16 -0600

Seen: 39 times

Last updated: Dec 17 '19