SLAM算法与工程实践——雷达篇:Livox激光雷达使用

SLAM算法与工程实践系列文章

下面是SLAM算法与工程实践系列文章的总链接,本人发表这个系列的文章链接均收录于此

SLAM算法与工程实践系列文章链接


下面是专栏地址:

SLAM算法与工程实践系列专栏


文章目录

  • SLAM算法与工程实践系列文章
    • SLAM算法与工程实践系列文章链接
    • SLAM算法与工程实践系列专栏
  • 前言
  • SLAM算法与工程实践——雷达篇:Livox激光雷达使用
    • LIVOX激光雷达驱动安装
      • catkin build安装
      • 雷达的广播码
      • 设置静态ip
      • Livox-SDK安装
        • **旧版Livox-SDK安装**
        • **新版Livox-SDK安装**
        • 出现的问题
      • rviz显示点云
      • 多雷达数据采集


前言

这个系列的文章是分享SLAM相关技术算法的学习和工程实践


SLAM算法与工程实践——雷达篇:Livox激光雷达使用

LIVOX激光雷达驱动安装

参考:

Ubuntu20.04系统安装Livox-SDK

Ubuntu20.04系统安装Livox ROS Driver

【3D激光SLAM】Livox-mid-360激光雷达ip配置

livox-mid70激光雷达使用实录

Robosense M1/速腾半固态激光雷达M1 保姆级教程1-如何连接雷达?

livox-mid70激光雷达使用实录

LIVOX 官方文档:https://livox-wiki-cn.readthedocs.io/zh_CN/latest/index.html

catkin build安装

参考:

catkin tools安装

sudo sh \
    -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" \
        > /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -

sudo apt-get update
sudo apt-get install python3-catkin-tools

雷达的广播码

!记住雷达的广播码,后面要用到
雷达的广播码在雷达后面,可以在雷达机身的QR 码下面查看,共15位数,

SLAM算法与工程实践——雷达篇:Livox激光雷达使用_第1张图片

比如我的雷达广播码是 3GGDJ770010111

SLAM算法与工程实践——雷达篇:Livox激光雷达使用_第2张图片

设置静态ip

首先在Ubuntu20.04下将本机IP地址置于和雷达IP同一局域网下

!不用改wifi的ip,改以太网的ip

sudo ifconfig
sudo ifconfig enp2s0 192.168.1.50 
# 将enp6s0换成雷达和电脑的以太网有线连接的名称

Livox-SDK安装

Livox wiki官方文档:https://livox-wiki-cn.readthedocs.io/zh_CN/latest/introduction/production.html#mid-360

新版和旧版的SDK是可以共存的!

旧版Livox-SDK安装

旧版本的SDK是给Mid 40,Mid 70, Livox Horizon,Livox Avia等雷达使用

Livox-SDK下载地址:https://github.com/Livox-SDK/Livox-SDK

livox_ros_driver地址:https://github.com/Livox-SDK/livox_ros_driver

下载Livox Viewer2:https://www.livoxtech.com/downloads

下载好之后

安装Livox-SDK:

git clone https://github.com/Livox-SDK/Livox-SDK.git
cd ./Livox-SDK/
mkdir build
cd build
cmake .. && make -j8
sudo make install

安装livox_ros_driver:

livox_ros_driver的文件放到 catkin_ws/src/ 下,和realsense的ros驱动安装同理

git clone https://github.com/Livox-SDK/livox_ros_driver.git
cd catkin_ws
catkin build
source devel/setup.bash

# 或者
source /opt/ros/noetic/setup.sh

正确连接雷达硬件并完成IP配置后运行指令 ./livox viewer.sh 启动 Livox Viewer

如果没有点云显示,就是因为ip没有设置正确,或者在Livox Viewer的设置按钮中也可以设置ip

新版Livox-SDK安装

新版本的SDK是给Mid 360,Livox HAP使用的

查看官方简介

Livox-SDK 和 livox_ros_driver: Drivers for receiving LiDAR data and more, support Lidar Mid-40, Mid-70, Tele-15, Horizon, Avia.
Livox-SDK2 和 livox_ros_driver2: Drivers for receiving LiDAR data and controlling lidar, support Lidar HAP and Mid-360.

所以我们要下载 Livox-SDK2livox_ros_driver2

Livox-SDK2地址:https://github.com/Livox-SDK/Livox-SDK2

livox_ros_driver2地址:https://github.com/Livox-SDK/livox_ros_driver2

下载Livox Viewer2:https://www.livoxtech.com/downloads

下载好之后

安装Livox-SDK2:

git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd ./Livox-SDK2/
mkdir build
cd build
cmake .. && make -j8
sudo make install

安装livox_ros_driver2:

livox_ros_driver2的文件放到 catkin_ws/src/ 下,和realsense的ros驱动安装同理

git clone https://github.com/Livox-SDK/livox_ros_driver2.git ws_livox/src/livox_ros_driver2
cd ws_livox
source /opt/ros/noetic/setup.sh
./build.sh ROS1

由于./build.sh 文件中的命令是将原本的develbuild 文件夹删除后再重新用catkin_make 编译,如果需要用 catkin build 编译,需要修改下面红框的命令为catkin build

SLAM算法与工程实践——雷达篇:Livox激光雷达使用_第3张图片

正确连接雷达硬件并完成IP配置后运行指令LivoxViewer2.sh 启动 Livox Viewer2

如果没有点云显示,就是因为ip没有设置正确,或者在Livox Viewer的设置按钮中也可以设置ip

出现的问题

无法连接雷达

在ubuntu下可以ping通LIVOX MID70,但是却无法识别到,但在台式机的windows下的Livox Viewer却可以识别到

SLAM算法与工程实践——雷达篇:Livox激光雷达使用_第4张图片

wireshark抓包测试结果如下

雷达连接时:

SLAM算法与工程实践——雷达篇:Livox激光雷达使用_第5张图片

雷达断开连接:

SLAM算法与工程实践——雷达篇:Livox激光雷达使用_第6张图片

在用联想拯救者R900P连接时,有线网口无法连接,但是将雷达的IP设置为动态IP后,在windows系统中可以识别到雷达,但在Ubuntu下仍然识别不到,我的拯救者网卡是 realtek rtl8169,可能是网卡的问题

20230926:问题解决,问题出在防火墙上面,由于之前开启SSH时我开启了防火墙ufw,而且雷达的信息是广播发送,会被防火墙拦截,将防火墙关闭即可

sudo ufw disable
sudo ufw status

关闭防火墙之后需要重启一下

reboot

wireshark安装:https://www.wireshark.org/

参考:

Ubuntu 上 Wireshark 的安装与使用

编译时报错

required from here
/usr/include/pcl-1.10/pcl/point_representation.h:252:48: error: the value of ‘NrDims’ is not usable in a constant expression
  252 |         Helper<Key, FieldT, NrDims>::copyPoint (p1_, p2_, f_idx_);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/pcl-1.10/pcl/point_representation.h:251:19: note: ‘NrDims’ was not 

SLAM算法与工程实践——雷达篇:Livox激光雷达使用_第7张图片

rviz显示点云

ros 接入Livox Mid-70

如果是使用mid360的话

需要更改

livox_ros_driver2/config/MID360_config.json

livox_ros_driver2/launch_ROS1/msg_MID360.launch

livox_ros_driver2/launch_ROS1/rviz_MID360.launch

文件内参数

如果是使用mid70,不需要修改配置文件,输入命令启动

roslauch 

多雷达数据采集

见官方文档:多雷达数据采集(使用览沃枢纽 Livox Hub)

你可能感兴趣的:(SLAM算法与工程实践系列,算法,计算机视觉,linux,机器人,激光雷达)