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

相关文章

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面