【EHub_tx1_tx2_E100】 WLR-720多线激光 雷达在Ubuntu18.04 + ROS_ Melodic 环境评测
大家好,我是虎哥,从厂家那申请到了万集的WLR-720雷达样品,第一时间亲自做做接入适配测试,总结一下自己的简单测试经验,分享给大家。



WLR-720 车载16线激光雷达,主要应用于低速驾驶车辆及机器人的导航定位,雷达输出半径150m,垂直视场30°范围内的高质量原始点云数据,可用于室外高精度地图绘制、障碍物检测,大大降低无人驾驶项目落地时间;雷达采用车规级生产工艺、内置加热模块及散热处理、优良的抗光性以及多重回波等功能的设计,有效解决了无人驾驶车辆在震动、严寒高温、雨雪天气及风沙等环境的应用难题。

一、WLR-720机械式16 线激光雷达介绍


1.1 主要特点


•集成6轴IMU模块
•激光波长:905nm
•人眼安全等级:Class1(人眼安全)
•通信接口:Ethernet
•工作电压:12-32V DC (电源功率大于20W)
•功耗:15W
•防护等级:IP67
•尺寸:φ105.7mm×81.5mm
•净重:0.91Kg
•工作温度:-20℃-60℃
•测距方式:TOF
•测距能力:”0.5m~50m@10%反射率,通道1-4,13-16;0.5m~70m@10%反射率,通道5~12”
•测距精度:±3cm(典型值)
•水平扫描视场角:360°
•水平扫描分辨率:0.1°/0.2°/0.4°
•垂直扫描视场角:30°(-16°~14°)
•垂直扫描分辨率:2°
•扫描频率:5Hz/10Hz/20Hz
•回波模式:单回波/双回波
1.2 线束分布数据
WLR-720的垂直方位角为-16°~+14°,1到16发光通道在垂直方向间隔2°从上到下均匀分布,16路发光通道与垂直角度映射关系如图1.1所示。




1.3 IMU


WLR-720 内置 IMU 芯片,型号为 ASM330LHH,为 6 轴车规级 IMU,可输出角速度和加速度数据。IMU 数据输出的频率为 100HZ,获得数据的方式有两种:1.直接解析 udp 数据的数据尾中的 IMU 数据(详情可见 3.1.2);2.通过订阅 720ROS 驱动中的 IMU 话题(/wlr_720/imu),该话题输出的为标准 IMU 数据格式。



1.4 安装尺寸


在 WLR-720 的后方预留有安装孔位,请使用超出安装面 4-5mm 的 4×M4 螺丝固定激光雷达,完成 WLR-720的安装。下图为 WLR-720 的外形尺寸图和安装孔位图:




二、WIN端VanJeeView测试配置


VanJeeView 提供将 WLR-720 输出数据进行可视化的功能,并可以保存回放 pcap 格式的文件,本次使用的版本为VanJeeView V2.9.3 版本。



要求你的电脑设置IP:192.168.2.88。需要将你的电脑网口的固定IP设置到2网段,保持和雷达同一个网段,最好关闭防火墙。



测试电脑配置IP为:192.168.2.88
记得将雷达的网口,接入你电脑的网口。


2.2 打开软件,广播扫描:






广播扫描后,可以看到雷达IP是:192.168.2.86,目的IP是:192.168.2.88



也可以ping通雷达,所以雷达的链接正常,但是记得目的地址一定要和你查看点云数据的电脑是一致的。


2.3 链接雷达


根据广播得到的 雷达IP 地址和端口号,以及目的IP地址,设置你自己测试的电脑IP为目的地址一致。



之后扫描出来后,点击链接。




这个时候可以看到点云信息了。



再点击一下数据表格按钮,就可以关闭数据表格。


2.4根据需要修改配置,一般改最多的就是IP信息



读取信息




修改IP信息


下载IP修改参数:



下载确定后,你发现网络通信就断开了。



2.5修改后WIN端IP测试验证
修改自己的电脑IP为,目的地址IP



雷达不用重新上电,IP就生效了



广播扫描到雷达:



IP信息已经变为修改后的。链接成功,可以正常配置雷达和查看信息。



三、ROS下接入测试


上面WIN端,我们修改了IP信息,这里将雷达网口和测试主板链接到一起。ROS下的驱动官网既可以下载到。


3.1 将板子IP修改到和雷达要求的目的IP


上一章我们再WIN下测试的时候,已经修改了雷达的IP,已经雷达要求的目的IP:



将雷达接入我们测试的ARM环境后,首先需要的就是修改配置其本身的IP.




3.2 建立工作空间

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

3.3 拷贝代码

#将官方提供的驱动代码包放置到这个目录解压
cd ~/SensorWS/WLR720_ws/src


3.4 编译源码包

cd ~/SensorWS/WLR720_ws
catkin_make -DCATKIN_WHITELIST_PACKAGES=""


第一次编译会报错,解决它



fatal error: pcap.h: No such file or directory
c++: internal compiler error: Segmentation fault (program cc1plus)
pcap.h缺少的问题:没有就装它

sudo apt-get install libpcap-dev -y

c++: internal compiler error: Segmentation fault (program cc1plus):
这个问题一般是内存不足,虚拟内存不足,或者系统环境静态存储开的过小,最后还有可能是打开的文件句柄限制太小,因为编译的时候要循环嵌套打开一堆文件,常规处理办法有一些,如果增加虚拟内存不能解决,请参考我之前的文章:


c++: internal compiler error: Segmentation fault (program cc1plus) 解决_机器人虎哥的博客-CSDN博客 解决。



我感觉是我自己这两个参数小了,所以改大试试。

#修改文件
sudo gedit /etc/security/limits.conf 
#修改和增加
nvidia hard stack 3024
nvidia soft stack 3024
ubuntu hard stack 3024
ubuntu soft stack 3024
root hard stack 3024
root soft stack 3024
​
nvidia hard nofile 65535
nvidia soft nofile 65535
root hard nofile 65535
root soft nofile 65535
ubuntu hard nofile 65535
ubuntu soft nofile 65535

重启一下系统

#重启
sudo reboot
#重启后查看配置
ulimit -a


重新编译看看

cd ~/SensorWS/WLR720_ws
catkin_make -DCATKIN_WHITELIST_PACKAGES=""


在这要等一段时间



编译完毕
3.5 修改ROS 驱动启动脚本中对应的信息
刚才我们根据需要已经修改了IP,接下来我们测试,需要使用脚本启动,需要修改脚本的对应IP信息。

 
cd ~/SensorWS/WLR720_ws/src/vanjee_lidar_v1.10.4/src/config
vim config.yaml

原始文件内容是:



己环境的:



3.6 启动驱动

cd ~/SensorWS/WLR720_ws
source devel/setup.bash
#启动驱动 需要桌面系统支持  默认会打开rviz
roslaunch vanjee_lidar vanjee.launch


打开其实什么都不显示,所以要先查一下问题我们可以先在launch关掉RVIZ



重启启动脚本后:



新启动一个终端,我们可以初步看看驱动的一些节点信息:

rosnode list

/rosout
/rviz
/vanjee_nodelet_manager
/vanjee_nodelet_manager_cloud
/vanjee_nodelet_manager_driver

rostopic list

/clicked_point
/initialpose
/move_base_simple/goal
/rosout
/rosout_agg
/tf
/tf_static
/vanjee_nodelet_manager/bond
/vanjee_packets
/vanjee_packets_but
/wlr_720/cloud_points
/wlr_720/imu

打印IMU值:
cd ~/SensorWS/WLR720_ws
source devel/setup.bash
#打印 IMU 值
rostopic echo /wlr_720/imu



3.7 启动RVIZ查看IMU数据


Rviz中点击左下角Add添加rviz_imu_plugin,可以看见有坐标系出现,如果没有需要安装 (sudo apt-get install ros-melodic-imu-tools 安装imu功能包)

sudo apt-get install ros-melodic-imu-tools 

打开RVIZ:

#wlr_720imu 是IMU发布消息内的frame_id: "wlr_720imu" config.yaml 也有配置
rosrun rviz rviz -f wlr_720imu



这个时候,你懂雷达,箭头会随着你动雷达晃动。


3.8 启动RVIZ查看点云
保持驱动是启动的情况下。我们使用nomachine链接到桌面,启动RVIZ。

#wlr_720point 是激光点云数据的fram_id
rosrun rviz rviz -f wlr_720point



刚添加完毕,还不会有数据点云,需要做一下话题配置。



这样就可以看到激光。


3.9 官方自带RVIZ配置文件查看点云修复
打开驱动

cd ~/SensorWS/WLR720_ws
source devel/setup.bash
#启动驱动 需要桌面系统支持  默认会打开rviz,上面我们已经注释掉了,所以不会再启动
roslaunch vanjee_lidar vanjee.launch

官方原始的驱动launch文件是会打开RVIZ的,我们注释掉了,即使不注释,发现也是看不到什么东西,从上面两章测试,我们其实就可以看到,是官方要求的一些fram_id和自带的驱动脚本配置不一致导致的。我们手工修复一下 。
新开一个终端,在nomachine的桌面中断中输入:

#vanjee.rviz 官方自带的rviz配置文件
rosrun rviz rviz -d ~/SensorWS/WLR720_ws/src/vanjee_lidar_v1.10.4/src/vanjee_lidar/rviz_cfg/vanjee.rviz


全局的ID就是不对的,改成我们自己的wlr_720point



立马就可看到点云。所以我们把官方的配置文件启动命令改一下:

rosrun rviz rviz -d ~/SensorWS/WLR720_ws/src/vanjee_lidar_v1.10.4/src/vanjee_lidar/rviz_cfg/vanjee.rviz  -f wlr_720point

执行就可以直接看到点云了。

四、总结


我自己跑测试过程,整体还算比较顺利,编译和最后官方的点云查看,废了我一点时间,除此之外都比较简单,没有那么多繁琐的配置。顺道说说WLR-720的特点吧:

  1. 集成了6轴的IMU,这个其实会给我们省单独的IMU费用。单独IMU你需要接线,调试,还需要考虑安装位置,结构上也有考虑,所以这个地方是即帮助你省钱,也帮你省心。
  2. 是不是所有16线激机械式的激光雷达的发热都这么大!!!,记得在你的设计中为他单独增加散热片或者风扇,否则长期稳定性,环境如果有点差的情况,未必能扛住。
  3. 最重要的,价格确实比起同性能的有优势,性价比之王没的说了。整体质感,工艺,是很对得起这个价格的。