(警告)Velodyne Poll()超时。 (错误)Drivernodelet :: DevicePoll被输送到轮询设备。如何在Docker(Ubuntu-18.04)环境中连接VLP-16
我想将Velodyne Lidar(VLP-16)连接到Docker环境。但是我有问题。
我不能在Docker环境中激怒数据。 LIDAR的工作正常,因为我可以在Ubuntu-18.04(不是Docker环境)中成功获得LiDAR数据。
我的计算机IP是192.168.10.250,Lidar的IP是192.168.10.201(我更改了LIDAR的IP以连接我的计算机)。
但是,vethernet(WSL)的IP为172.19.208.1(我的计算机重新启动时可能会更改,并且将为172.19.xx.xx)。 我的Docker的IP是172.17.0.xx(Docker0 IP)。
我想知道为什么我可以从Docker环境中成功使用LIDAR,即使计算机的IP(192.168.10.xx)和Docker的IP(172.17.0.xx)不同。
。尽管Lidar和Docker已连接(我可以从Docker环境中ping到Lidar),但我无法获得LiDar的数据。输入这些命令时,我有以下问题。
- 命令:
catkin_make (成功)
source setup.bash (成功)
- >
- 错误消息:错误消息
我认为我在
- 我已经修改了端口号> in /catkin_ws/src/velodyne/velodyne_pointcloud/launch/vlp16_points.luanch
- i I安装 ros:melodic
谢谢。
I want to connect Velodyne Lidar(VLP-16) to docker environment. But I have a problem.
I can't Lidar data in docker environment. Lidar works fine because I can get Lidar data successfully in Ubuntu-18.04(not docker environment).
my computer's IP is 192.168.10.250, and Lidar's IP is 192.168.10.201 (I changed Lidar's IP to connect my computer).
But, vEthernet(WSL)'s IP is 172.19.208.1 (may be changed when my computer reboot, and it will be 172.19.xx.xx).
And my docker's IP is 172.17.0.xx (docker0 IP).
I wonder why I can ping successfully to Lidar from docker environment, even if computer's ip(192.168.10.xx) and docker's ip(172.17.0.xx) are different.
Although Lidar and Docker are connected(I can ping to Lidar from docker environment), I cannot get Lidar's data. I have the following problem when I enter these commands.
- commands :
catkin_make (success)
source setup.bash (success)
roslaunch velodyne_pointcloud VLP16_points.launch (error!)
- error message : error message
I think I have similar problem in https://github.com/ros-drivers/velodyne/issues/232 .
But I can't solve it.
- I already modify port number '2368' in /catkin_ws/src/velodyne/velodyne_pointcloud/launch/VLP16_points.luanch
- I installed ros:melodic to use Velodyne Lidar
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
此问题是因为您的Docker容器使用的子网与LIDAR的子网不同。 Velodyne在
255.255.0.0
子网上运行,其中前两个钟表与容器不同。解决此问题的最简单方法是更改这些LiDAR设置以匹配您的容器使用的设置。这看起来就像让
主机
字段成为您的容器IP:172.17.xx.xx
并确保Velodyne在同一子网上:172.17.10.10.201
This issue is because the subnet your docker container uses is different than that of your LIDAR. The Velodyne operates on a
255.255.0.0
subnet where the first two octets are different than the container. The easiest way to fix this is to change those LIDAR settings to match what your container uses.This would look something like having the
Host
field be your container IP:172.17.xx.xx
and making sure the velodyne is on the same subnet:172.17.10.201
此错误是由启动程序引起的,无法通过指定的IP从Velodyne听到。原因是Velodyne和Docker的网络不同(Lidar的192.168.xx,而Docker的172.17.xx)。
解决此问题的最简单方法是用
- 网络主机
运行您的Docker。然后,Docker网络与主机相同。This error is caused by the launch program could not hear from the velodyne with specified IP. The reason is that network of velodyne and docker is different (mostly 192.168.x.x for LiDAR, and 172.17.x.x for docker).
The easiest way to solve this question is to run your docker with
--network host
. Then the docker network would be the same with the host.