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

news2025/6/16 2:24:33

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位数,

在这里插入图片描述

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

在这里插入图片描述

设置静态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

在这里插入图片描述

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

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

出现的问题

无法连接雷达

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

在这里插入图片描述

wireshark抓包测试结果如下

雷达连接时:

在这里插入图片描述

雷达断开连接:

在这里插入图片描述

在用联想拯救者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 

在这里插入图片描述

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)

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

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

相关文章

C++设计模式 #3策略模式(Strategy Method)

动机 在软件构建过程中&#xff0c;某些对象使用的的算法可能多种多样&#xff0c;经常改变。如果将这些算法都写在类中&#xff0c;会使得类变得异常复杂&#xff1b;而且有时候支持不频繁使用的算法也是性能负担。 如何在运行时根据需求透明地更改对象的算法&#xff1f;将…

ceph块存储学习

目录 ceph的组件和功能 ceph的数据读写流程 ceph存储池学习 ceph的组件和功能 Ceph OSD&#xff1a;功能是存储数据&#xff0c;处理数据的复制、恢复、平衡数据分布&#xff0c;并将一些相关数据提供给Ceph Monitor,。 Ceph Monitor: 功能是维护整个集群健康状态&…

关于“Python”的核心知识点整理大全36

目录 13.4.4 向下移动外星人群并改变移动方向 game_functions.py alien_invasion.py 13.5 射杀外星人 13.5.1 检测子弹与外星人的碰撞 game_functions.py alien_invasion.py 13.5.2 为测试创建大子弹 13.5.3 生成新的外星人群 game_functions.py alien_invasion.py …

怎么开启基于软件标签的kasan, CONFIG_KASAN_SW_TAGS=y

如果内核版本等于或大于5.0&#xff0c;那么需要在通用KASAN和基于软件标签的KASAN之间做出选择&#xff0c;前者的配置宏是CONFIG_KASAN_GENERIC&#xff0c;后者的配置宏是CONFIG_KASAN_SW_TAGS。menuconfig无法勾选CONFIG_KASAN_SW_TAGSy CONFIG_KASAN_SW_TAGS 依赖 CC_HAS…

python dash 的学习笔记1

dash 用python开发web界面 https://dash.plotly.com/ 官方上支持jula F# python一类。当然我只会python只学习python中使用dash. 要做一个APP&#xff0c;用php,java以及.net都可以写&#xff0c;只所有选择python是因为最近在用这一个。同时也发现python除了慢全是优点。 资料…

基于单片机设计的指纹锁(读取、录入、验证指纹)

一、前言 指纹识别技术是一种常见的生物识别技术&#xff0c;利用每个人指纹的唯一性进行身份认证。相比于传统的密码锁或者钥匙锁&#xff0c;指纹锁具有更高的安全性和便利性&#xff0c;以及防止钥匙丢失或密码泄露的优势。 基于单片机设计的指纹锁项目是利用STC89C52作为…

基于Java Web的“萌宠小知识”网站设计与实现论文

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统萌宠小知识信息管理难度大&#xff0c;容错率低&#xff…

java: -source 7 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)

目录 1、检查项目中 JDK 的设置&#xff1a; 2、检查模块中 JDK 的设置&#xff1a; 3、检查Idea 中的SDK设置 4、检查 IDEA 中 JDK 的设置&#xff08;我出现的问题在这&#xff09;&#xff1a; 今天遇见了一个报错&#xff1a; 问题产生的原因是 JDK 版本太低&#xf…

1215. 小朋友排队(权值树状数组求逆序数)

题目&#xff1a; 1215. 小朋友排队 - AcWing题库 思路&#xff1a;权值树状数组 1.权值树状数组的模板与树状数组一样没有变化&#xff0c;但树状数组tr[]中存储的内容以及add和query的含义发生了变化。 2.tr[]~ 树状数组&#xff1a;存储的是区间和&#xff1b;权值树状数…

tcp 的限制 (TCP_WRAPPERS)

#江南的江 #每日鸡汤&#xff1a;青春是打开了就合不上的书&#xff0c;人生是踏上了就回不了头的路&#xff0c;爱情是扔出了就收不回的赌注。 #初心和目标&#xff1a;拿到高级网络工程师 TCP_WRAPPERs Tcp_wrappers 对于七层模型中是位于第四层的安全工具&#xff0c;他…

Redis数据一致解决方案

文章目录 前言技术积累查询缓存业务流程更新缓存业务流程 更新缓存问题解决方案写在最后 前言 当前的应用服务很多都有着高并发的业务场景&#xff0c;对于高并发的解决方案一般会用到缓存来降低数据库压力&#xff0c;并且还能够提高系统性能减少请求耗时&#xff0c;比如我们…

西南交通大学【数电实验之modelsim的使用】

由于后面的实验和考试时的仿真全部用modelsim&#xff0c;所以出一期modelsim的使用。 一、准备工作 1.找到modelsim 可以将其拖到桌面上。 2.Quartus的准备 这里以笔者考试时的代码为例&#xff0c;代码如下图所示 是产生一个周期性的110100序列。 在编写好代码后&#x…

【redis笔记】

Redis简介 安装步骤 Redis存储的是key-value结构的数据&#xff0c;其中key是字符串类型&#xff0c;value有5种常用的数据类型&#xff1a; 字符串string ​ 哈希hash 适合存储对象 列表list 按照插入顺序排序&#xff0c;可以有重复元素 集合set 无序集合&#xff0c;没…

Gartner2023数据库魔力象限发布 阿里云依旧领导者 腾讯退出 EDB/Yugabyte进入

这是一个跨越数年的系列&#xff0c;历史文章参考&#xff1a; * 数据库魔力象限2022&#xff1a;阿里领先、腾讯再次进入 * 2021 藏在魔力象限中的数据库江湖 * Gartner云计算魔力象限2018 概述 Gartner云数据库魔力象限&#xff08;后简称“象限”或“MQ”&#xff09;一…

力扣日记12.23-【二叉树篇】501. 二叉搜索树中的众数

力扣日记&#xff1a;【二叉树篇】501. 二叉搜索树中的众数 日期&#xff1a;2023.12.23 参考&#xff1a;代码随想录、力扣 501. 二叉搜索树中的众数 题目描述 难度&#xff1a;简单 给你一个含重复值的二叉搜索树&#xff08;BST&#xff09;的根节点 root &#xff0c;找出…

设计模式(4)--对象行为(2)--命令

1. 意图 将一个请求封装为一个对象&#xff0c;从而使你可用不同的请求对客户进行参数化&#xff1b;对请求排队或记录请 求日志&#xff0c;以及支持可撤销的操作。 2. 四种角色 接收者(Receiver)、抽象命令(Command)、具体命令(Concrete Command)、请求者(Invoker) 3. 优点…

TCP_滑动窗口介绍

简介 TCP协议中有两个窗口&#xff0c;滑动窗口和拥塞窗口&#xff0c;两者均是一种流控机制&#xff1b;滑动窗口是接收方的流控机制&#xff0c;拥塞窗口是发送方的流控机制。 本文介绍滑动窗口&#xff0c;接收方为TCP连接设置了接收缓存。当TCP连接接收到正确、按序的字节…

idea运行tocmat报错

1.检查环境变量是否配置正确。 网上有许多配置tomcat环境变量的方法&#xff0c;这里不再赘述。 2.判断是否有该情况&#xff1a; 在tomcat的bin目录下有三个bat文件(startup.bat,shutdown.bat,catalina.bat)&#xff0c;随意双击一个&#xff0c;会报出上述错误。但是右键使…

JavaScript高级 函数进阶篇

函数进阶 1、函数的定义和调用 函数声明方式function关键字&#xff08;命名函数&#xff09;&#xff1b;函数表达式&#xff08;匿名函数&#xff09;&#xff1b;new Function()&#xff08;此处的Function()是一个构造函数&#xff09;&#xff1b;var fn new Function(参…

华为鸿蒙(HarmonyOS):连接一切,智慧无限

华为鸿蒙是一款全场景、分布式操作系统&#xff0c;旨在构建一个真正统一的硬件生态系统。该操作系统于2019年8月首次发布&#xff0c;并被设计为可以应用于各种设备&#xff0c;包括智能手机、智能手表、智能电视、车载系统等多种智能设备。 推荐一套最新版的鸿蒙4.0开发教程 …