【Ubuntu18.04】Livox Tele-15使用教程

Livox Tele-15使用教程

  • 引言
  • 1 下载并安装Livox Viewer
    • 1.1 打开Livox Viewer程序
    • 1.2 设备ip链接
  • 2 览沃Livox SDK二次开发并封装ROS
    • 2.1 览沃Livox SDK安装
    • 2.2 览沃Livox livox_ros_driver 安装
    • 2.3 Launch 配置文件描述
  • 3 保存lvx格式的数据文件
    • 3.1 使用览沃Viewer保存lvx文件
    • 3.2 使用Livox-SDK保存lvx文件
    • 3.3 将lvx文件(v1.0/v1.1)转换为rosbag文件(仅支持Ubuntu系统)
  • 4 外参标定与点云显示
    • 4.1 使用 Livox Viewer 标定外参
    • 4.2 在Livox Ros Driver 中修改 config 配置表

引言

激光雷达型号:Livox Tele-15
用于配置的系统:Ubuntu 18.04
在这里插入图片描述

1 下载并安装Livox Viewer

  • 前往Livox官网,建议下载如图的Livox Viewer版本

在这里插入图片描述
用户手册链接

1.1 打开Livox Viewer程序

  • 解压文件后,进入文件夹并运行启动指令如下:
./livox_viewer.sh
  • 打开界面如下:

在这里插入图片描述

1.2 设备ip链接

电脑设置静态IP
注意:在设电脑与Livox设备连接前,需要电脑的IP设置中设置一个静态IP
(1)找到物理网卡的名称,我这里是enp0s31f6

# 先ifconfig查看电脑的网卡信息,如下图
ifconfig

图1
(2)实际需要依次设置enp0s31f6网卡的静态IP地址、网关、DNS,dhcp4设置为false,最后一行添加:renderer: networkd。

# 输入route -n命令,打印路由表,这里主要是为了查看网关地址,后续会用到
route -n
#  输入 sudo vim /etc/netplan/00-installer-config.yaml,编辑yaml文件
sudo gedit /etc/netplan/00-installer-config.yaml
  • 根据Livox Viewer的用户手册要求:电脑的静态IP地址为192.168.1.2,子网掩码为255.255.255.0,默认网关为192.168.1.1

在这里插入图片描述
在这里插入图片描述
输入命令netplan apply使改动生效,然后reboot重启系统

sudo netplan apply

或者修改/etc/network/interfaces来设置静态ip

sudo gedit /etc/network/interfaces

在这里插入图片描述
测试网络连通性

ping 192.168.1.2

在这里插入图片描述
连接Livox Tele-15设备

设置好电脑静态IP后就可以连接设备采集实时点云流,如图所示:
在这里插入图片描述
配置设备参数
连接Livox设备后,单击控制面板打开设置。可以检查所选设备的状态并设置参数
在这里插入图片描述

2 览沃Livox SDK二次开发并封装ROS

2.1 览沃Livox SDK安装

参考链接:Livox-SDK
编译 Livox SDK

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

运行 Livox SDK 样例

cd sample/lidar && ./lidar_sample

在这里插入图片描述

2.2 览沃Livox livox_ros_driver 安装

Livox ROS Driver(览沃ROS驱动程序中文说明)
获取ROS驱动包

git clone https://github.com/Livox-SDK/livox_ros_driver.git ws_livox/src

构建ROS驱动程序

cd ws_livox
catkin_make

在这里插入图片描述

更新ROS包环境

source ./devel/setup.sh

运行ROS驱动程序

roslaunch livox_ros_driver [launch file] [param]

  • 如果 [param] 参数项为空,则览沃 ROS 驱动程序会根据配置文件中的具体配置来连接对应的设备,具体连接规则如下:

当配置文件中指定的设备连接状态配置为使能连接时 (true) ,览沃 ROS 驱动程序只会连接该配置文件中指定的设备;
    说明:
    (1)该配置文件位于 “ws_livox/src/livox_ros_driver/config” 目录下;
    (2)当配置文件中指定的设备连接状态全部配置为禁止连接 (false) 时,览沃 ROS 驱动程序会自动连接扫描到的所有设备;

2.3 Launch 配置文件描述

  • 览沃驱动程序中所有的 launch 文件都位于"ws_livox/src/livox_ros_driver/launch"路径下,不同的 launch 文件拥有不同的配置参数值, 应用在不同的场景中:

在这里插入图片描述

  • "ws_livox/src/livox_ros_driver/config" 路径下, 有两个 json 配置文件,分别为
    livox_hub_config.jsonlivox_lidar_config.json

在这里插入图片描述
在这里插入图片描述

lvx 点云数据文件(v1.0/v1.1) 转换为 rosbag 文件

  • 览沃 ROS 驱动程序支持 lvx 点云数据文件转换为 rosbag 文件,具体命令如下:
roslaunch livox_ros_driver lvx_to_rosbag.launch lvx_file_path:="/home/livox/test.lvx"
  • 替换如上命令中的 "/home/livox/test.lvx" 为本地 lvx
    数据文件路径后,直接运行即可;如果转换成功,将会在上述路径下产生同名 rosbag 格式点云数据文件。

3 保存lvx格式的数据文件

参考链接:How-to-use-lvx-file-under-ros-cn

3.1 使用览沃Viewer保存lvx文件

操作步骤如下所示:

打开设备管理器;
连接设备;
开始采样;
记录并保存lvx文件

./livox_viewer.sh

在这里插入图片描述

3.2 使用Livox-SDK保存lvx文件

Git clone Livox-SDK

git clone https://github.com/Livox-SDK/Livox-SDK.git

在以下文件路径打开终端窗口: …/Livox_SDK/build/sample/lidar_lvx_file
执行以下命令:./lidar_lvx_sample
连接指定的设备: -c “Lidar SN”
设置点云持续时间: -t 10 (10 second)

./lidar_lvx_sample -c “Lidar SN” -t 10

3.3 将lvx文件(v1.0/v1.1)转换为rosbag文件(仅支持Ubuntu系统)

Git clone livox_ros_driver

git clone https://github.com/Livox-SDK/livox_ros_driver.git ws_livox/src

设置点云发布频率

  • 如果需要设置转换为rosbag数据的频率为10Hz,可以在 "../ws_livox/src/livox_ros_driver/launch/lvx_to_rosbag.launch file"文件中将‘publish_freq’参数设置为10.0。同理,可以将其设置成需要的频率。

在这里插入图片描述
在以下路径打开终端窗口

../ws_livox

将lvx点云文件(v1.0/v1.1)转换为rosbag文件

  • livox_ros_driver支持将lvx点云数据转换为rosbag文件。使用以下命令:
roslaunch livox_ros_driver lvx_to_rosbag.launch lvx_file_path:="/home/livox/test.lvx"
  • 将上述命令中"/home/livox/test.lvx"替换为本地lvx文件的路径之后,即可以运行;如果转换成功,在上述路径下将会产生同名的rosbag格式的文件。
    在这里插入图片描述

播放Rosbag数据

4 外参标定与点云显示

参考链接:外参标定与点云显示

  • 览沃 ROS 驱动程序支持补偿 LiDAR 外参,在补偿外参之前必须标定好 LiDAR 外参。

4.1 使用 Livox Viewer 标定外参

外参标定

  • 使用 Livox Viewer 标定外参的方法如下图 :

**在这里插入图片描述

  • 设置与写入雷达外参数值

在这里插入图片描述
注意事项 :

(1)在空旷环境下,准备标定物(标定板、标定支架……);

(2)寻找雷达之间的共同 FOV 方向的同一目标物;

(3)通过旋转一定角度,平移一定距离,使得目标物重叠;

(4)完成外参标定;

(5)如果没有共同 FOV ,则只能根据每个雷达之间的空间关系进行外参调整;

4.2 在Livox Ros Driver 中修改 config 配置表

进入以下文件路径:

  • "../ws_livox/src/livox_ros_driver/config",打开 livox_lidar_config.json文件,如果只有一台设备,则只根据以下步骤修改对应的信息,如果有多台Livox雷达设备,则在 lidar_config 增加雷达的配置信息,再打开 Rviz 点云显示界面即可正常显示;

在这里插入图片描述
打开Rviz显示点云效果

  • "../ws_livox" 文件路径下打开终端,执行以下语句连接当前局域网设备:
roslaunch livox_ros_driver livox_lidar_rviz.launch

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

vuecli2关于下载本地取环境变量没问题部署后路径取不到环境变量问题解决

功能 下载功能,用a标签实现下载 代码错误思路分析 解决办法可以忽略直接看下面 解决思路 在每个config文件中都定义了file_url,本地运行没有问题,但是部署到服务器开发环境, 拿到的是生产环境的FILE_URL地址 首先看了流水线-构建配置-编译配置-编译脚本里的打包命令: ** 本…

51单片机KeyWard

eg1: 单片机键盘的分类 键盘分为编码键盘和非编码键盘,键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值得称为编码键盘,如计算机键盘,而靠软件来识别的称为非编码键盘,在单片机组成的各种…

百度松果20231022作业

越狱 盒子与球 斯特林第二类数(用dp求)*盒子的阶乘 int dp[11][11]; //n>k int A(int x){int res1;fer(i,2,x1)res*i;return res; } signed main(){IOS;dp[2][1]dp[2][2]dp[1][1]1;fer(i,3,11){dp[i][1]1;fer(j,2,i){dp[i][j]j*dp[i-1][j]dp[i-1][j-…

面试知识储备--打包工具篇(webpack和vite)

1.vite常用配置 常用配置 1.preprocessorOptions 传递给 CSS 预处理器的配置选项 2.PostCSS 也是用来处理 CSS 的,只不过它更像是一个工具箱,可以添加各种插件来处理 CSS 3.resolve.extensions 导入时想要省略的扩展名列表。默认值为 [‘.mjs’, ‘.js’…

Linux shell编程学习笔记13:文件测试运算

*更新记录:20231020 为补充了(十五)检测文件是否存在并且是一个符号链接 补充了一个例子 Linux Shell 脚本编程和其他编程语言一样,支持算数、关系、布尔、逻辑、字符串、文件测试等多种运算。前面几节我们依次研究了 Linux she…

2.3.C++项目:网络版五子棋对战之实用工具类模块的设计

文章目录 一、实用工具类模块(一)功能 二、设计和封装(一)日志宏封装(二)mysql_util封装(三)Jsoncpp-API封装(四)file_util封装(五)st…

Python---练习:while循环案例:猜数字

需求: 计算机从1 ~ 10之间随机生成一个数字,然后提示输入数字,如果我们输入的数字与随机数相等,则提示恭喜你,答对了。如果输入的数字比随机数大,则提示,猜大了。反之,则提示猜小了…

java读取指定文件夹下的全部文件,并输出文件名,文件大小,文件创建时间

import java.io.IOException; import java.nio.file.*; import java.nio.file.attribute.*; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { try { Path startingDir Paths.get("你的目…

【蓝桥每日一题]-动态规划 (保姆级教程 篇10)#方格取数

高能预警:讲了这么久动态规划了,该上点有难度的题吧 目录 题目:方格取数 思路(解法一): 解法二: 题目:方格取数 思路(解法一): 如果只有两个方向…

SpringMVC的工作流程

1、SpringMVC的定义 Spring MVC是基于Java的开源Web框架,它是Spring框架的一部分,用于构建MVC(Model-View-Controller)模式的Web应用程序。它提供了一种灵活且强大的方式来开发Web应用程序,并将应用程序的不同层进行解…

python 之 矩阵相关操作

文章目录 1. **创建矩阵**:2. **矩阵加法**:3. **矩阵乘法**:4. **矩阵转置**:5. **元素级操作**:6. **汇总统计**:7. **逻辑操作**: 理解你的需求,我将为每个功能写一个单独的代码块…

docker部署与基础操作

目录 一、Docker 概述: 1. docker简介: 2. 容器的优点: 3. 容器在内核中支持2种重要技术: 4 . 容器与虚拟机 的区别: 5. docker三个核心概念: 二、安装docker: 1. 关闭防火墙: 2. 安…

使用MFC创建一个SaleSystem

目录 1、项目的创建: 2、项目的配置: 3、设置窗口属性: (1)、设置图标 1)、添加导入资源 2)、代码初始化图标 (2)、设置标题 (3)、设置窗口…

2023-10-22 LeetCode每日一题(做菜顺序)

2023-10-22每日一题 一、题目编号 1402. 做菜顺序二、题目链接 点击跳转到题目位置 三、题目描述 一个厨师收集了他 n 道菜的满意程度 satisfaction ,这个厨师做出每道菜的时间都是 1 单位时间。 一道菜的 「 like-time 系数 」定义为烹饪这道菜结束的时间&am…

【C++】特殊类实现

一、请设计一个类,不能被拷贝 拷贝只会放生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝, 只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。 C98 将拷贝构造函数与赋值运算符重载只声明不定义…

美团面试:Oracle JDK那么好,为何要用Open JDK?

说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格,遇到很多很重要的面试题: 既然 Oracle JDK 这么好,那为什么还要有 OpenJDK&…

【Java基础面试三十八】、请介绍Java的异常接口

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:请介绍Java的异常接口 …

【Linux】基本操作指令汇总(不完全)

文章目录 操作系统概念补充lspwdsuechocdtouchmkdirrmdir指令 && rm 指令(重要)man指令cpmvcatmorelessheadtailstat时间相关的指令calfindgrepwcsortuniqwhichziptar:打包/解包,不打开它,直接看内容bcunamectrl cctrl rctrl d\ls cpulsmemdf-hw…

Android C/C++ native编程NDK开发中logcat的使用

Android C/C native编程NDK开发中logcat的使用 前言具体用法 前言 在NDK开发过程中,C/C层,需要对代码进行一些调试,日志打印是我们解决异常或崩溃的重要手段,这里我就简单介绍下日志打印三步走。 首先我们先看下官方文档关于日志…