ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Velodyne VLP-16 poll() timeout

asked 2022-11-03 22:36:38 -0600

ThomasL624 gravatar image

updated 2022-11-03 22:40:13 -0600

Environment:

  • Docker
  • Ubuntu 20.04
  • ROS2 Galactic

Background:

Actually this environment worked few days ago, I can see the scan data from Rviz2. However after I trying to start 2 x VLP-16, then both of them keep sending error about poll() timeout, even I only connect one VLP16 and use the clean source code.

I can ping the LiDAR and also can see there are many UDP packages in Wireshark. The webUI can be access. Below is the IP setup:

  • Host IP: 192.168.1.100
  • LIDAR IP: 192.168.1.202:2369
  • LIDAR destination IP: 192.168.1.100

Whats the problem here? I have browsed quite a bit in Google and still no solution was found yet... Totally no idea how to solve this. I tried directly connect the Lidar to Host, and still same error.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2022-11-04 06:49:07 -0600

Mike Scheutzow gravatar image

updated 2022-11-04 06:52:48 -0600

A velodyne device transmits its raw scan data to a specific IP port, so in the velodyne config page, you need to assign each velodyne device a unique port number e.g. 2368 and 2369. On the ROS side you will need to run a separate ros-driver for each velodyne device, and configure the driver with the port number you have assigned for the UDP packets to arrive on. In the standard driver, the parameter is named port.

edit flag offensive delete link more

Comments

I config both LiDAR as follow:

lidar_left: port: 2368 Host Dest: 192.168.1.100 IP: 192.168.1.201

lidar_right: port: 2369 Host Dest: 192.168.1.100 IP: 192.168.1.202

Both can be ping at the same time with corresponding IP addr. In ROS2 launch file, I create a new set of config file and change the default launch (clone from repo) with specified namespace as follow:

lidar_left

  • /lidar_left/velodyne_driver_node
  • /lidar_left/velodyne_convert_node
  • /lidar_left/velodyne_laserscan_node

lidar_right:

  • /lidar_right/velodyne_driver_node
  • /lidar_right/velodyne_convert_node
  • /lidar_right/velodyne_laserscan_node

These nodes can be seen via rqt_graph and ros2 node list

However, one of the lidar keep saying that poll() timeout and only one lidar pointcloud can be see in Rviz2, even though there are different topics (left and right). What will be the problem?

In wireshark, I can see both lidar sending UDP to different socket with payload.

ThomasL624 gravatar image ThomasL624  ( 2022-11-07 03:50:36 -0600 )edit

I have this same issue when trying to connect two VLP-16 lidars. Can you help me?

jerek gravatar image jerek  ( 2023-02-08 03:49:27 -0600 )edit

I am not sure if my solution is the fix, but at least it fixed mine. There were no software/config issues, I solved it by unplugging all the ethernet content to the switch, and power cycled the switch. And it showed both lidar scans to me. It might be caused by some network storm issue idk...

ThomasL624 gravatar image ThomasL624  ( 2023-02-09 08:23:31 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2022-11-03 22:36:38 -0600

Seen: 2,226 times

Last updated: Nov 04 '22