【EHub_tx1_tx2_E100】 WLR-720多线激光 雷达在Ubuntu18.04 + ROS_ Melodic 环境评测
简介:介绍 WLR-720多线激光雷达 在EHub_tx1_tx2_E100载板,TX1核心模块环境(Ubuntu18.04)下测试ROS驱动,打开使用RVIZ 查看点云数据,本文的前提条件是你的TX1里已经安装了ROS版本:Melodic。关于测试硬件EHub_tx1_tx2_E100载板请查看:EdgeBox_EHub_tx1_tx2_E100 开发板评测_机器人虎哥的博客-CSDN博客
大家好,我是虎哥,从厂家那申请到了万集的WLR-720雷达样品,第一时间亲自做做接入适配测试,总结一下自己的简单测试经验,分享给大家。
WLR-720 车载16线激光雷达,主要应用于低速驾驶车辆及机器人的导航定位,雷达输出半径150m,垂直视场30°范围内的高质量原始点云数据,可用于室外高精度地图绘制、障碍物检测,大大降低无人驾驶项目落地时间;雷达采用车规级生产工艺、内置加热模块及散热处理、优良的抗光性以及多重回波等功能的设计,有效解决了无人驾驶车辆在震动、严寒高温、雨雪天气及风沙等环境的应用难题。
目录
一、WLR-720机械式16 线激光雷达介绍
1.1 主要特点
1.2 线束分布数据
1.3 IMU
1.4 安装尺寸
二、WIN端VanJeeView测试配置
2.1 配置电脑IP信息
2.2 打开软件,广播扫描:
2.3 链接雷达
2.4根据需要修改配置,一般改最多的就是IP信息
2.5 修改后WIN端IP测试验证
三、ROS下接入测试
3.1 将板子IP修改到和雷达要求的目的IP
3.2 建立工作空间
3.3 拷贝代码
3.4 编译源码包
3.5 修改ROS 驱动启动脚本中对应的信息
3.6 启动驱动
3.7 启动RVIZ查看IMU数据
4.6 启动RVIZ查看点云
3.8 官方自带RVIZ配置文件查看点云修复
四、总结
一、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 版本。
2.1 配置电脑IP信息
要求你的电脑设置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
原始文件内容是:
主要是将IP信息修改为你自己环境的:
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的特点吧:
-
集成了6轴的IMU,这个其实会给我们省单独的IMU费用。单独IMU你需要接线,调试,还需要考虑安装位置,结构上也有考虑,所以这个地方是即帮助你省钱,也帮你省心。
-
是不是所有16线激机械式的激光雷达的发热都这么大!!!,记得在你的设计中为他单独增加散热片或者风扇,否则长期稳定性,环境如果有点差的情况,未必能扛住。
-
最重要的,价格确实比起同性能的有优势,性价比之王没的说了。整体质感,工艺,是很对得起这个价格的。
纠错,疑问,交流: 911946883@qq.com