VLP-16 激光雷达 ubuntu

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VLP-16 激光雷达 ubuntu相关的知识,希望对你有一定的参考价值。

参考技术A 在 Ubuntu系统 ,有两种方式进行数据显示:

ROS

VeloView

在Windows系统,可用VeloView进行数据显示。

基于ROS的方法

环境

Ubuntu 14.04

ROS indigo

1,安装驱动

  sudo apt-get install ros-<你的ros版本>-velodyne  

2. 配置网络,连接到激光雷达: 

通过附带的适配器为LIDAR供电

将LIDAR连接到计算机上的以太网端口。

目前,请禁用计算机上的 WiFi 连接。

打开网络连接,添加以太网,点击IPv4 设置,添加以下数据:

地址:192.168.1.222

掩码:255.255.255.0

网关:192.168.1.1

然后打开浏览器输入192.168.1.201可以看到激光雷达的配置文件。

3. 新建一个ROS的工程: 

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 indigo -y 

catkin_make 

source devel/setup.bash 

4. 把Velodyne XML文件转成ROS节点的YAML文件(转换后生成VLP-16.yaml):   xml 文件在LIDAR的u盘设备中

rosrun velodyne_pointcloud gen_calibration.py ~/Desktop/VLP-16.xml  (根据自己保存的目录来) 

5. 加载: 

roslaunch velodyne_pointcloud VLP16_points.launch calibration:=/home/phd/VLP-16.yaml  (根据自己保存的目录来) 

6. 实时显示点云图: 

rosrun rviz rviz -f velodyne 

在“显示”面板中,单击“添加”,然后选择“Point Cloud2”,然后按“确定”。

在新“Point Cloud2”选项卡的“主题”字段中,输入“/ velodyne_points”。

恭喜。现在,您的Velodyne已准备好在您的系统内构建“真实”世界。好好享受。

7. 记录数据: 

    rosbag record -O out /velodyne_points 

Velodyne VLP-16激光雷达数据分析

Velodyne VLP-16激光雷达数据分析

Velodyne VLP-16激光雷达保持了 Velodyne 在 LiDAR 中的突破性重要功能:实时收发数据、360 度全覆盖、3D 距离测量以及校准反射测量。有效范围为 100 米,其耗电低 (~8W)、重量轻(830克)、占用空间少(直径约为 103 毫米 x 72 毫米)以及双重回传功能使得其成为无人机以及其他移动装置的理想选择。Velodyne 的 LiDAR Puck 激光雷达支持 16 个通道、~300,000 点/秒、360°水平视场角以及 30° 垂直视场角(以及 +/-15°上下的可调范围)。Velodyne LiDAR Puck 激光雷达没有可视旋转件,这使得它可以高度灵活地适应要求严苛的环境(IP67 防护等级)。

  传感器

  校准反射之后的 TOF 距离测量

  16 通道

  测量距离远达 100 米

  度:+/-3 厘米(常规)

  双重回传

  视场角(垂直):30°(+15° 至 -15°)

  角分辨率(垂直):

  视场角(垂直/方位角):360°

  角分辨率(水平/方位角):0.1° - 0.4°

  旋转速率:5 - 20 Hz

  集成有 Web 服务器,可方便地进行监控和配置

  激光:

  1 级 - 人眼安全

  波长:903 nm

  机械/电器/运转:

  耗电量:8 W(常规)

  工作电压:9 - 32 V 直流电(含接口盒以及稳压电源)

  重量:830 克(不含线缆)

  尺寸:103 毫米(直径) x 72 毫米(高度)

  冲击力度:振幅:500 m/sec2,时长:11 msec

  振动频率:5 Hz 至 2000 Hz,3G rms

  防护标准:IP67

  工作温度:-10° 至 +60°C

  存储温度:-40° 至 +105°C

  输出:

  高达 30 万点/秒

  100 Mbps 以太网连接

  UDP 数据包包含

  - 距离

  - 校准反射强度

  - 旋转角度

  - 同步时间戳(μs 分辨率)

  来自 GPS Receiver 的 $GPRMC NMEA 语句(不含 GPS)

技术图片

VLP-16型号雷达具有在垂直方向上16线的激光束,激光雷达在采集三维数据时,每一步的旋转(旋转频率可设定频率不同旋转的步进角度不同)可在空间上采集16个点的三维数据。在垂直方向上的视角范围为-15度到+15度,每个激光束对应的角度分别为如下图所示:

技术图片

技术图片

 技术图片

 技术图片

 截取一部分雷达的数据包如下所示:

技术图片

左图:数据包前一部分                                                              右图:数据包后一部分

依据上图数据包的最左边为00000h表示行标识,左图第一行画红线部分FFEE为数据包的开头标识,E063十六进制两字节标识当前选择角度,B6072A三字节前两字节B607标识雷达激光的探测距离信息,2A表示激光反射强度。右图画红线部分最后面六个字节表示数据帧的时间戳和雷达信息参数,其中6D69940F表示时间戳而3722表示雷达的参数信息。

技术图片

 1、旋转角度值的计算

 例如上图第一个数据包的旋转角度为0xE0、0x63

 a、反转两个字节变成十六进制63E0

 b、把63E0变成无符号的十进制为25568

 c、再把25568处于100.0得到255.68,那么得到的值255.68就是当前的旋转角度值

 2、16线激光分别测得的距离

 例如上一个图第一个数据包第一个激光线的距离,其值为B6072A

 a、B6072A其中B607为距离2A为反射强度,首先反转两个距离的字节变成07B6

 b、把07B6变成无符号的十进制为1974

 c、该型号雷达的分辨率为2.0mm,所以激光束测得的距离为1974 * 2mm = 3948mm

 d、3948mm转化为米等于3.948m

3、获得帧的时间戳和雷达型号参数

 例如上一个图最后六个字节的数据6D69940F3722

 a、前四个字节的数据为时间戳为6D69940F,然后反转顺序0F94696D

 b、0F94696D无符号十进制的值为261384557,单位为us

 c、把261384557除以1000000可获得当前的时间(单位:秒)

 d、后两个字节3722表示雷达的型号和参数,具体的意义如下图所示:

技术图片

技术图片

4、把角度和距离信息转化为三维坐标XYZ值,如下图所示:

技术图片

 其中R的值为激光雷达测得的与障碍物的直线距离,该值为上述第2点测得的值,其中垂直角度ω可通过查表方法获得,每个激光束对应的角度ω是固定的本文第一张图所示,而α则有第1点测得的旋转角度值。已知旋转角度α、垂直角度ω和R通过图中所述的公式即可求得XYZ值。

以上是关于VLP-16 激光雷达 ubuntu的主要内容,如果未能解决你的问题,请参考以下文章

北醒激光雷达CE30_D连接ubuntu

北醒激光雷达CE30_D连接ubuntu

【Autoware】配置镭神激光雷达lslidar-c16并完成点云聚类检测

ubuntu20 autoware+carla联合仿真通过激光雷达制作点云地图

ubuntu20 autoware+carla联合仿真通过激光雷达制作点云地图

汽车激光雷达有啥用?激光雷达和毫米波雷达的区别