【EHub_tx1_tx2_E100】Ubuntu18.04 + ROS_ Melodic + Velodyne VLP-16雷达 测试使用

news2024/12/24 3:33:56

        简介:介绍 Velodyne VLP-16 16线激光雷达 在EHub_tx1_tx2_E100载板,TX1核心模块环境(Ubuntu18.04)下测试ROS驱动,打开使用RVIZ 查看点云数据,本文的前提条件是你的TX1里已经安装了ROS版本:Melodic。关于测试硬件EHub_tx1_tx2_E100载板请查看:EdgeBox_EHub_tx1_tx2_E100 开发板评测_机器人虎哥的博客-CSDN博客

        大家好,我是虎哥,关注最早的多线激光雷达,可以看到大多都是Velodyne 激光雷达,虽然这家公司退出直接在中国市场的经营,但是通过代理其实还是可以拿到货。从任何层面来说,VLP-16都算是比较经典的一款雷达。有项目机会,我入手了一套VLP-16雷达,上手之后,总结梳理一下简单的使用过程,在这里分享给大家。

        Velodyne的激光雷达传感器解决方案能够使移动机器人自主、安全地运行,无需额外的人工干预,并为定位、映射、目标分类与追踪提供实时3D感知数据。在各种极具挑战性(包括不同温度、光照与降水)的室内外环境下,Velodyne高效、低功耗的传感器均可为自主移动机器人提供支持。

目录

一、VLP-16 1 16线激光雷达介绍

1.1 主要参数

1.2 Velodyne 全线雷达参数对比

1.3 应用领域图示

二、查找雷达IP

三、ROS下查看点云

3.1安装依赖包

3.2 建立工作空间

3.3 克隆代码

3.4 编译源码包

3.5 雷达接入板子,配置好对应IP测试启动

3.6 打开RVIZ 查看点云

四、修改雷达IP


一、VLP-16 1 16线激光雷达介绍

        VLP-16激光雷达是Velodyne公司出品的最小型的3维激光雷达,保留了电机转速可调节的功能。实时上传周围距离和反射率的测量值。VLP-16具有100米的远量程测量距离。精巧的外观设计使得安装非常方便。重量轻,只有830g,非常适合安装在小型无人机和小型移动机器人上。 每秒高达30万个点数据输出。±15°的垂直视场,360°水平视场扫描。

1.1 主要参数

  • 激光线数:16线;

  • 测量范围:高达100m;

  • 测量精度:±3cm;

  • 支持两次回波;

  • 垂直测量角度范围:30°(﹢15°到﹣15°);

  • 垂直方向角度分辨率:2°;

  • 水平方向测量角度范围:360°;

  • 水平方向角度分辨率:0.1°到0.4°;

  • 测量频率:5到20Hz;

  • 可以通过网络浏览器监测和改变电机的转速;

  • 激光安全等级:1级(人眼安全);

  • 激光波长:905nm;

  • 传感器功率:8W(典型值);

  • 工作电压:9-32V;

  • 重量:830g;

  • 外形尺寸:103mmX72mm;

  • 振动测试:500m/sec² 振幅,持续时间11msec;

  • 振动:5Hzto2000Hz,3Grms;

  • 防护等级:IP67;

  • 工作温度:﹣10℃到﹢60℃;

  • 储存温度:-40℃到﹢105℃;

  • 输出:每秒高达30万个测量点输出;

  • 100M快速以太网连接;

  • 数据包包含:距离值、物体反射率、旋转角度、同步时间(μs分辨率);

  • 支持外接GPS;

        威力登(Velodyne)**16线三维激光雷达VLP-16行业应用:**汽车自动驾驶、建图测量、测绘、高精度地图、机器人导航避障、环境3维建模、自动化行业

1.2 Velodyne 全线雷达参数对比

1.3 应用领域图示

         Velodyne Lidar全球销售副总裁Laura Wrisley表示:“波士顿动力研发的机器人具备先进的移动性、灵活性与智能性,能够在陌生、不可预测的环境中实现自动化。配备Velodyne的激光雷达传感器可帮助机器人在复杂的环境中实现自主导航,既能安全地避开障碍物,也能找到从制造工厂、建筑工地到配送中心、仓库的最快路线,完成重要任务。”

二、查找雷达IP

        velodyne的默认出厂ip为:192.168.1.201,将雷达上电后,网口链接到板子的有线网口。有时候雷达IP 如果因为来回修改,导致不知道雷达传感器的源ip,可以通过以下方法进行查看:

打开终端,输入:

#如果没有就安装,有就可以跳过
sudo apt-get install tcpdump
#打印信息
sudo tcpdump -n -i eth0

         可以看到雷达一直会一直广播信息,通过他可以确定雷达IP,即使你不在一个网段,也能收到这个广播信息。从上面打印,我们可以确认,我测试的雷达IP,还是出厂的IP:192.168.1.201

将自己主板的IP,设置成手动。

        设置->网络->有线连接->IPV4->手动 地址: 192.168.1.XXX 掩码: 255.255.255.0 网关: 192.168.1.X 注:为保证源IP与目的IP在同一网段下,IP的前三位要相同。最后几位要在1-255之间,但不可以为201与雷达重复。 设置成功后记得重新启动ip开关。

三、ROS下查看点云

3.1安装依赖包

sudo apt-get install ros-melodic-velodyne

3.2 建立工作空间

mkdir -p ~/Velodyne_ws/src
cd ~/Velodyne_ws/
catkin_make
source devel/setup.bash

3.3 克隆代码

cd ~/Velodyne_ws/src
git clone https://github.com/ros-drivers/velodyne.git

3.4 编译源码包

cd ~/Velodyne_ws/
rosdep install --from-paths src --ignore-src --rosdistro melodic -y
catkin_make
source devel/setup.bash
nvidia@nvidia-desktop:~/Velodyne_ws$ rosdep install --from-paths src --ignore-src --rosdistro melodic -y
#All required rosdeps installed successfully

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

3.5 雷达接入板子,配置好对应IP测试启动

我手里的雷达IP:192.168.1.201,我自己的ARM板子的IP我手动设置成了:192.168.1.102

cd ~/Velodyne_ws
source devel/setup.bash
source devel/setup.bash
roslaunch velodyne_pointcloud VLP16_points.launch
新启动一个终端,我们可以初步看看驱动的一些节点信息:
rosnode list
    /rosout
    /velodyne_nodelet_manager
    /velodyne_nodelet_manager_driver
    /velodyne_nodelet_manager_laserscan
    /velodyne_nodelet_manager_transform
rostopic list
    /diagnostics
    /rosout
    /rosout_agg
    /scan
    /velodyne_nodelet_manager/bond
    /velodyne_nodelet_manager_driver/parameter_descriptions
    /velodyne_nodelet_manager_driver/parameter_updates
    /velodyne_nodelet_manager_laserscan/parameter_descriptions
    /velodyne_nodelet_manager_laserscan/parameter_updates
    /velodyne_nodelet_manager_transform/parameter_descriptions
    /velodyne_nodelet_manager_transform/parameter_updates
    /velodyne_packets
    /velodyne_points

3.6 打开RVIZ 查看点云

#我是用nomachine 打开的桌面终端
rosrun rviz rviz -f velodyne

 增加激光

 这样看到的似乎是单线数据!

  • 进入Rviz后,点击左下角Add添加By topic -> velodyne_points -> PointCloud2

  • 修改左边目录中的Global Options -> Fixed Frame为:velodyne

  • 以及PointCloud2 -> Topic为:/velodyne_points

这样似乎才能看到点云数据,试试。

 调整页面。

四、修改雷达IP

        实际使用中,我们常常由于网络环境的变化,根据自己需要,需要配置修改雷达IP。比如,我手里的雷达IP:192.168.1.201,我自己的ARM板子的IP我手动设置成了:192.168.1.102 VLP-16 修改参数和IP,官方提供了一个WEB,很方便就能做配置修改。

1、用nomachine 登录板子

 2、打开浏览器,输入192.168.1.201

 3、找到IP修改项

 比如我们修改雷达IP为:192.168.9.201

 先点 SET,再点击 Save Configuration

保存配置后,可以选择软重启雷达,我只直接雷达重新上电的:

#板子端打印信息
sudo tcpdump -n -i eth0

 雷达IP已经修改过来了。

纠错,疑问,交流: 911946883@qq.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/148579.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HashMap、HashTable、ConcurrentHashMap之间的区别及常见面试题

Java集合类有的集合类是存在线程安全的问题,但是由于之前对于集合类的使用都是在单线程的情况下使用的,不没有在多线程环境下使用,所以不涉及线程安全的问题;这篇博客着重讲解一下多线程环境下使用哈希表。HashMapHashMap本身不是…

一些开发时常用的网站或命令

目录关于gitgit下载网址git安装教程Gortoisegit下载地址关于PythonAnyWhere关于Linux压缩与解压命令关于python的相对与绝对路径使用_\_file_\_实现跨平台关于宝塔面板关于浏览器驱动下载本博客首次编辑于2023.01.04 ,后续将持续进行更新 关于git git下载网址 gi…

Linux - 系统文件目录说明

目录/ - 根目录/bin - 用户基础二进制文件目录/boot - 静态启动文件/dev - 设备文件/etc - 配置文件/home - 主目录/lib - 基础共享库/lib64 - 64位基础共享库/lostfound - 可恢复的文件/media - 可移动媒体/mnt - 临时挂载点目录/opt - 自选软件包/proc - 内核 & 进程文件…

【Node】事件循环机制

Node 中的异步 API 定时器:setTimeout、setIntervalI/O 操作:文件读写、数据库操作、网络请求…Node 独有的 API:process.nextTick、setImmediate 事件循环的流程 Node 的事件循环分为 6 个阶段,这 6 个阶段会按顺序反复运行运行…

高并发内存池项目

文章目录一、项目介绍二、什么是内存池2.1 池化技术2.2 内存池2.3 内存池的作用2.4 malloc三、设计定长内存池四、高并发内存池整体框架设计六、threadcache6.1 threadcache整体设计6.2 threadcache哈希桶映射对齐规则6.3 编写对齐和映射的相关函数6.4 编写ThreadCache类6.5 th…

电网头条知识竞赛题库答案(自动答题)

今天教你们自动完成2023年电网头条的知识竞赛,小编也为大家安排好了教程,首先呢需要知道电网助手,打开电网助手网页https://wwwl.lanzouw.com/b01w803yj 为了帮到大家,我特地分享出来,希望能给大家带来一丝丝便利&…

1.3第二周 星期二Samba、FTP

目录 01 Samba文件共享服务 Samba服务基础 2.主配置文件 02 linux文件传输服务 1.用户访问的Samba 03 FTP服务概述 1.vsftp知识预备 04 操作流程: 1.使用时记得装ftp的包:yum install ftp -y 2.装完之后启动服务&am…

【北京理工大学-Python 数据分析-2.1Matplotlib库入门】

Matplotlib库的使用 Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发。matplotlib.pyplot是绘制各类可视化图形的命令字库,相当于快捷方式。 import matplotlib.pyplot as plt plt.plot([3,1,4,5,2]) plt.ylabel("Grade&qu…

实战四十七:基于机器(逻辑回归随机森林线性回归)学习预测销售门店的商品销量详细教程(代码+数据)

项目概述: 使用时间序列预测来预测来Corporacin Favorita 的数据的商店销售额。 具体来说,构建一个模型来更准确地预测在不同 Favorita 商店销售的数千种商品的单位销售额。您将使用包含日期、商店和商品信息、促销和单位销售的易于理解的训练数据集来练习您的机器学习技能。…

基于java ssm springboot+VUE疫情防疫系统系统前后端分离设计和实现

基于java ssm springbootVUE疫情防疫系统系统前后端分离设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留…

Goland中使用GoPlantUml生成ER关系图

前言 Golang语言在近些年的开发语言中异军突起,在越来越多的公司项目中频繁出镜,也有越来越多的中间件选择使用Golang语言进行实现。正所谓源码之下无秘密,更友好地翻读源码对于理解功能特性以及后续使用非常有帮助,观摩学习源码也…

RMAN异地恢复-适用于数据库量比较大的场景

之前验证异地备份,只对数据库做个全备就备份恢复了,这种适用于数据库比较小的场景,因为如果数据库量大的话,备份,拷贝备份,恢复数据库的时间就比较长,停业务的时间就会比较长。 如果数据库比较…

JavaWeb知识汇总

文章目录前导一、数据库1.相关概念2.数据模型3.SQL4.约束5.数据库设计6.多表查询7.事务二、JDBC1.步骤2.JDBC事务管理3.数据库连接池三、Maven1.maven生命周期2.maven坐标详解3.依赖管理四、Mybatis1.快速入门2.Mapper代理开发3.核心配置文件4.参数传递5.注解开发五、HTML1.快速…

【进阶C语言】字符串函数+内存函数

文章目录一.字符串函数1.strlen功能:求字符串长度(不包括\0)函数模拟实现:2.1 strcmp功能函数模拟实现2.2 strncmp3.1 strcat功能函数模拟实现3.2strncat4.1 strcpy功能函数模拟实现4.2 strncpy5.strstr功能函数模拟实现6.strtok功…

论文《An Effective Consistency Constraint for Sequential Recommendation》

C2Rec: An Effective Consistency Constraint for SequentialRecommendation 这篇文章提出了序列推荐建模中一种有效的一致性约束防范,不用修改模型结构,仅仅添加2个额外的损失函数,就能达到非常好的效果。不像基于对比学习的方法&#xff0…

C++初阶--string

目录 string对象的创建: 遍历修改 const修饰的迭代器(只读): 反向迭代器: reserve与resize: find,rfind,substr: insert: erase: getchar、getline: string对…

Java基础学习笔记(十一)—— 包装类与泛型

包装类与泛型1 包装类1.1 基本类型包装类1.2 Integer类1.3 自动装箱 / 拆箱2 泛型2.1 泛型概述2.2 泛型的用法2.3 类型通配符1 包装类 1.1 基本类型包装类 基本类型包装类的作用 将基本数据类型封装成对象 的好处在于可以在对象中定义更多的功能方法操作该数据 public stat…

✿✿✿JavaScript --- Ajax异步请求与JSONP 跨域请求

目 录 一、原生的Ajax请求 1.异步和同步 2.Ajax介绍 3.实现方式 (1)原生的JS实现方式(了解) (2)原生AJax发送Post请求,并携带请求参数 二、JQuery封装后的Ajax 1.JQeury实现方式 2. $.get():发送get请求 3.$.post()&…

存储随笔2022年度最受欢迎文章榜单TOP15

回首2022感谢各位粉丝朋友的一路支持与陪伴存储随笔为您献上2022年度最受欢迎文章榜单TOP152023,一起向未来!TOP1:固态硬盘SSD入门级白皮书主要从固态硬盘的原理/接口形态/寿命/使用场景/等不同角度,来对比不同的人群需要什么样的…

[linux]vim编辑器

📟作者主页:慢热的陕西人 🌴专栏链接:Linux 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要讲解vim的使用和一些vim的常用操作,以及如何解决…