(警告)Velodyne poll() 超时。 (错误)DriverNodelet::devicePoll- 轮询设备失败。如何在Docker(Ubuntu-18.04)环境下连接VLP-16
(Warning) Velodyne poll() timeout. (ERROR) DriverNodelet::devicePoll-Failed to poll device. How to connect VLP-16 in Docker(Ubuntu-18.04) environment
我想将 Velodyne Lidar(VLP-16) 连接到 docker 环境。但是我有一个问题。
我无法在 docker 环境中获取激光雷达数据。激光雷达工作正常,因为我可以在 Ubuntu-18.04(不是 docker 环境)中成功获取激光雷达数据。
我电脑的IP是192.168.10.250,激光雷达的IP是192.168.10.201(我把激光雷达的IP改成连接我电脑的)
但是,vEthernet(WSL) 的 IP 是 172.19.208.1(我的电脑重启后可能会改变,现在是 172.19.xx.xx)。
而我的 docker 的 IP 是 172.17.0.xx (docker0 IP).
我想知道为什么在docker环境下可以ping通激光雷达,即使电脑的ip(192.168.10.xx)和docker的ip (172.17.0.xx) 不同。
虽然Lidar和Docker连上了(我可以从docker环境ping到Lidar),但我无法获取Lidar的数据。输入这些命令时出现以下问题。
- 命令:
catkin_make(成功)
来源setup.bash(成功)
roslaunch velodyne_pointcloud VLP16_points.launch(错误!)
- 错误信息:error message
我想我在 https://github.com/ros-drivers/velodyne/issues/232 中也有类似的问题。
但是我解决不了。
My Lidar information
- 我已经在/catkin_ws/src/velodyne/velodyne_pointcloud/launch/VLP16_points.luanch[=71=中修改了端口号'2368' ]
- 我安装了ros:melodic来使用Velodyne Lidar
谢谢。
这个问题是因为您的 docker 容器使用的子网与您的 LIDAR 的子网不同。 Velodyne 在 255.255.0.0
子网上运行,其中前两个八位字节与容器不同。解决此问题的最简单方法是更改这些 LIDAR 设置以匹配您的容器使用的设置。
这看起来像是将 Host
字段作为您的容器 IP:172.17.xx.xx
并确保 velodyne 在同一子网上:172.17.10.201
我想将 Velodyne Lidar(VLP-16) 连接到 docker 环境。但是我有一个问题。
我无法在 docker 环境中获取激光雷达数据。激光雷达工作正常,因为我可以在 Ubuntu-18.04(不是 docker 环境)中成功获取激光雷达数据。
我电脑的IP是192.168.10.250,激光雷达的IP是192.168.10.201(我把激光雷达的IP改成连接我电脑的)
但是,vEthernet(WSL) 的 IP 是 172.19.208.1(我的电脑重启后可能会改变,现在是 172.19.xx.xx)。 而我的 docker 的 IP 是 172.17.0.xx (docker0 IP).
我想知道为什么在docker环境下可以ping通激光雷达,即使电脑的ip(192.168.10.xx)和docker的ip (172.17.0.xx) 不同。
虽然Lidar和Docker连上了(我可以从docker环境ping到Lidar),但我无法获取Lidar的数据。输入这些命令时出现以下问题。
- 命令:
catkin_make(成功)
来源setup.bash(成功)
roslaunch velodyne_pointcloud VLP16_points.launch(错误!)
- 错误信息:error message
我想我在 https://github.com/ros-drivers/velodyne/issues/232 中也有类似的问题。 但是我解决不了。
My Lidar information
- 我已经在/catkin_ws/src/velodyne/velodyne_pointcloud/launch/VLP16_points.luanch[=71=中修改了端口号'2368' ]
- 我安装了ros:melodic来使用Velodyne Lidar
谢谢。
这个问题是因为您的 docker 容器使用的子网与您的 LIDAR 的子网不同。 Velodyne 在 255.255.0.0
子网上运行,其中前两个八位字节与容器不同。解决此问题的最简单方法是更改这些 LIDAR 设置以匹配您的容器使用的设置。
这看起来像是将 Host
字段作为您的容器 IP:172.17.xx.xx
并确保 velodyne 在同一子网上:172.17.10.201