Ubuntu18.04-ROS melodic -VLP_16激光雷达使用

2024-02-18 19:50

本文主要是介绍Ubuntu18.04-ROS melodic -VLP_16激光雷达使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OS and Version: Ubuntu 18.04
ROS Version: Melodic
lidar: Velodyne_16

前期准备

1.激光雷达上电
2.将激光雷达连接到工控机的网口
3.禁用无线连接

一、配置工控机网口

1.设置有线网口中的IP4
2.设置ENP网络中的IP4设置为手动
3.设置为IP地址192.168.1.77,子网掩码255.255.255.0,网关192.168.1.1。
4.点击保存,然后关闭网口,再重新打开网口。
5.打开浏览器,输入192.168.1.201
在这里插入图片描述
在这里插入图片描述

二、安装ROS依赖

sudo apt-get install ros-melodic-velodyne

有的博主提到还需要安装下方的依赖,我没装也可以正常运行。

sudo apt-get install libpcap-dev

三、安装VLP驱动

mkdir -p ~/catkin_velodyne/src && cd ~/catkin_velodyne/src
git clone https://github.com/ros-drivers/velodyne.git
cd ..
rosdep install --from-paths src --ignore-src --rosdistro melodic -y
catkin_make
source devel/setup.bash

到这里结束就可以,后面就可以正常显示。
其实还有一步是激光雷达的校准,没有这一步,也没问题。
找到U盘中VLP-16.xml文件是激光雷达附赠U盘中提供的,找不到可以下载。转换后生成VLP-16.yaml
下载地址xml

rosrun velodyne_pointcloud gen_calibration.py ~/VLP-16.xml
roslaunch velodyne_pointcloud VLP16_points.launch calibration:=~/VLP-16.yaml

~为自己的路径

四、运行查看数据

roscore
roslaunch velodyne_pointcloud VLP16_points.launch

打开rviz
在这里插入图片描述
OK就可以显示啦~

五、遇到的问题

5.1

[ WARN] [1606659546.548501176]: Velodyne poll() timeout
[ERROR] [1606659546.548607516]: DriverNodelet::devicePoll - Failed to poll device.

报这个错误是因为ROS读取不到激光雷达的数据,一般是因为VLP16_points.launch文件中设置的端口与激光雷达的数据端口不一致。解决方式到192.168.1.201查看数据端口,如下图查看到端口号为3201。
在这里插入图片描述

在这里插入图片描述
修改 ~/catkin_velodyne/src/velodyne/velodyne_pointcloud/launch/VLP16_points.launch 文件,使端口号与激光雷达的实际数据端口保持一致。
在这里插入图片描述

5.2 [ WARN] [1623376960.208009401]: No Azimuth Cache configured for model VLP16

setting /run_id to 858acbc0-ca56-11eb-81ca-000c29b03b78
process[rosout-1]: started with pid [4656]
started core service [/rosout]
process[velodyne_nodelet_manager-2]: started with pid [4659]
process[velodyne_nodelet_manager_driver-3]: started with pid [4674]
process[velodyne_nodelet_manager_transform-4]: started with pid [4675]
process[velodyne_nodelet_manager_laserscan-5]: started with pid [4676]
[ INFO] [1623375853.079427338]: Initializing nodelet with 8 worker threads.
0.000 2.304 4.608 6.912 9.216 11.520 13.824 16.128 18.432 20.736 23.040 25.344 27.648 29.952 32.256 34.560 55.296 57.600 59.904 62.208 64.512 66.816 69.120 71.424 73.728 76.032 78.336 80.640 82.944 85.248 87.552 89.856
110.592 112.896 115.200 117.504 119.808 122.112 124.416 126.720 129.024 131.328 133.632 135.936 138.240 140.544 142.848 145.152 165.888 168.192 170.496 172.800 175.104 177.408 179.712 182.016 184.320 186.624 188.928 191.232 193.536 195.840 198.144 200.448
221.184 223.488 225.792 228.096 230.400 232.704 235.008 237.312 239.616 241.920 244.224 246.528 248.832 251.136 253.440 255.744 276.480 278.784 281.088 283.392 285.696 288.000 290.304 292.608 294.912 297.216 299.520 301.824 304.128 306.432 308.736 311.040
331.776 334.080 336.384 338.688 340.992 343.296 345.600 347.904 350.208 352.512 354.816 357.120 359.424 361.728 364.032 366.336 387.072 389.376 391.680 393.984 396.288 398.592 400.896 403.200 405.504 407.808 410.112 412.416 414.720 417.024 419.328 421.632
442.368 444.672 446.976 449.280 451.584 453.888 456.192 458.496 460.800 463.104 465.408 467.712 470.016 472.320 474.624 476.928 497.664 499.968 502.272 504.576 506.880 509.184 511.488 513.792 516.096 518.400 520.704 523.008 525.312 527.616 529.920 532.224
552.960 555.264 557.568 559.872 562.176 564.480 566.784 569.088 571.392 573.696 576.000 578.304 580.608 582.912 585.216 587.520 608.256 610.560 612.864 615.168 617.472 619.776 622.080 624.384 626.688 628.992 631.296 633.600 635.904 638.208 640.512 642.816
663.552 665.856 668.160 670.464 672.768 675.072 677.376 679.680 681.984 684.288 686.592 688.896 691.200 693.504 695.808 698.112 718.848 721.152 723.456 725.760 728.064 730.368 732.672 734.976 737.280 739.584 741.888 744.192 746.496 748.800 751.104 753.408
774.144 776.448 778.752 781.056 783.360 785.664 787.968 790.272 792.576 794.880 797.184 799.488 801.792 804.096 806.400 808.704 829.440 831.744 834.048 836.352 838.656 840.960 843.264 845.568 847.872 850.176 852.480 854.784 857.088 859.392 861.696 864.000
884.736 887.040 889.344 891.648 893.952 896.256 898.560 900.864 903.168 905.472 907.776 910.080 912.384 914.688 916.992 919.296 940.032 942.336 944.640 946.944 949.248 951.552 953.856 956.160 958.464 960.768 963.072 965.376 967.680 969.984 972.288 974.592
995.328 997.632 999.936 1002.240 1004.544 1006.848 1009.152 1011.456 1013.760 1016.064 1018.368 1020.672 1022.976 1025.280 1027.584 1029.888 1050.624 1052.928 1055.232 1057.536 1059.840 1062.144 1064.448 1066.752 1069.056 1071.360 1073.664 1075.968 1078.272 1080.576 1082.880 1085.184
1105.920 1108.224 1110.528 1112.832 1115.136 1117.440 1119.744 1122.048 1124.352 1126.656 1128.960 1131.264 1133.568 1135.872 1138.176 1140.480 1161.216 1163.520 1165.824 1168.128 1170.432 1172.736 1175.040 1177.344 1179.648 1181.952 1184.256 1186.560 1188.864 1191.168 1193.472 1195.776
1216.512 1218.816 1221.120 1223.424 1225.728 1228.032 1230.336 1232.640 1234.944 1237.248 1239.552 1241.856 1244.160 1246.464 1248.768 1251.072 1271.808 1274.112 1276.416 1278.720 1281.024 1283.328 1285.632 1287.936 1290.240 1292.544 1294.848 1297.152 1299.456 1301.760 1304.064 1306.368
[ INFO] [1623375853.109880834]: correction angles: /home/bs/VLP_ws/src/velodyne/velodyne_pointcloud/params/VLP16db.yaml
[ INFO] [1623375853.112482524]: laser_ring[ 0] = 0, angle = -0.261799
[ INFO] [1623375853.112524564]: laser_ring[ 2] = 1, angle = -0.226893
[ INFO] [1623375853.112533182]: laser_ring[ 4] = 2, angle = -0.191986
[ INFO] [1623375853.112538392]: laser_ring[ 6] = 3, angle = -0.157080
[ INFO] [1623375853.112543037]: laser_ring[ 8] = 4, angle = -0.122173
[ INFO] [1623375853.112547833]: laser_ring[10] = 5, angle = -0.087266
[ INFO] [1623375853.112552380]: laser_ring[12] = 6, angle = -0.052360
[ INFO] [1623375853.112557186]: laser_ring[14] = 7, angle = -0.017453
[ INFO] [1623375853.112561731]: laser_ring[ 1] = 8, angle = +0.017453
[ INFO] [1623375853.112567446]: laser_ring[ 3] = 9, angle = +0.052360
[ INFO] [1623375853.112571876]: laser_ring[ 5] = 10, angle = +0.087266
[ INFO] [1623375853.112592943]: laser_ring[ 7] = 11, angle = +0.122173
[ INFO] [1623375853.112601472]: laser_ring[ 9] = 12, angle = +0.157080
[ INFO] [1623375853.112606635]: laser_ring[11] = 13, angle = +0.191986
[ INFO] [1623375853.112615050]: laser_ring[13] = 14, angle = +0.226893
[ INFO] [1623375853.112646993]: laser_ring[15] = 15, angle = +0.261799
[ INFO] [1623375853.112796386]: Number of lasers: 16.
[ WARN] [1623375853.113515309]: No Azimuth Cache configured for model VLP16
[ INFO] [1623375853.123820550]: Reconfigure request.
[ INFO] [1623375853.123870560]: Target frame ID now:
[ INFO] [1623375853.123899939]: Fixed frame ID now:
[ INFO] [1623375853.123970560]: Initialized container with min_range: 0.4, max_range: 130, target_frame: , fixed_frame: , init_width: 0, init_height: 1, is_dense: 1, scans_per_packet: 384
[ INFO] [1623375853.139084509]: Velodyne VLP-16 rotating at 600 RPM
[ INFO] [1623375853.139677184]: publishing 76 packets per scan
[ INFO] [1623375853.142200854]: Cut at specific angle feature deactivated.
[ INFO] [1623375853.148616528]: Reconfigure Request
[ INFO] [1623375853.149640297]: expected frequency: 9.921 (Hz)
[ INFO] [1623375853.151569872]: Opening UDP socket: port 2368

还未解决。

这篇关于Ubuntu18.04-ROS melodic -VLP_16激光雷达使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/722260

相关文章

Rust中的注释使用解读

《Rust中的注释使用解读》本文介绍了Rust中的行注释、块注释和文档注释的使用方法,通过示例展示了如何在实际代码中应用这些注释,以提高代码的可读性和可维护性... 目录Rust 中的注释使用指南1. 行注释示例:行注释2. 块注释示例:块注释3. 文档注释示例:文档注释4. 综合示例总结Rust 中的注释

Linux使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

springboot的调度服务与异步服务使用详解

《springboot的调度服务与异步服务使用详解》本文主要介绍了Java的ScheduledExecutorService接口和SpringBoot中如何使用调度线程池,包括核心参数、创建方式、自定... 目录1.调度服务1.1.JDK之ScheduledExecutorService1.2.spring

Java使用Tesseract-OCR实战教程

《Java使用Tesseract-OCR实战教程》本文介绍了如何在Java中使用Tesseract-OCR进行文本提取,包括Tesseract-OCR的安装、中文训练库的配置、依赖库的引入以及具体的代... 目录Java使用Tesseract-OCRTesseract-OCR安装配置中文训练库引入依赖代码实

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何