ubuntu20.04 运行 lio-sam 流程记录

ubuntu20.04 运行 lio-sam

  • 一、安装和编译
    • 1.1、安装 ROS1
    • 1.2、安装 gtsam
    • 1.3、安装依赖
    • 1.4、下载源码
    • 1.5、修改文件
    • 1.6、编译和运行
  • 二、官方数据集的运行
    • 2.1、casual_walk_2.bag
    • 2.2、outdoor.bag、west.bag
    • 2.3、park.bag
  • 三、一些比较好的参考链接

记录流程,方便自己快速复现

一、安装和编译

1.1、安装 ROS1

这里使用的鱼香 ros 一键安装

wget http://fishros.com/install -O fishros && . fishros

1.2、安装 gtsam

sudo add-apt-repository ppa:borglab/gtsam-release-4.0
sudo apt install libgtsam-dev libgtsam-unstable-dev

1.3、安装依赖

sudo apt-get install ros-noetic-fake-localization
sudo apt-get install ros-noetic-robot-localization

1.4、下载源码

创建工作空间 catkin_ws/src

cd ~/catkin_ws/src
git clone https://github.com/TixiaoShan/LIO-SAM.git

1.5、修改文件

第一处:

~/catkin_ws/src/LIO-SAM/include/ 文件夹下的 utility.h 文件,替换其中的 #include <opencv/cv.h> 这一行,改为:#include <opencv2/imgproc.hpp>

第二处:

~/catkin_ws/src/LIO-SAM/ 文件夹下的 CMakeList.txt 文件,替换其中的 set(CMAKE_CXX_FLAGS "-std=c++11") 这一行,改为:set(CMAKE_CXX_FLAGS "-std=c++14"),并且添加

find_package(Boost REQUIRED COMPONENTS timer thread serialization chrono)

1.6、编译和运行

catkin_make
source devel/setup.bash
roslaunch lio_sam run.launch

二、官方数据集的运行

数据集下载链接:
链接: https://pan.baidu.com/s/1IZClZE_YfsrsES3xklBzhQ 提取码: vsks

如果想要保存地图,需要对config/params.yaml文件的这两行做修改

# Export settingssavePCD: true                              # https://github.com/TixiaoShan/LIO-SAM/issues/3savePCDDirectory: "/Downloads/LOAM/"        # in your home folder, starts and ends with

会保存五个pcd

在这里插入图片描述

2.1、casual_walk_2.bag

这个包可以直接运行,不用做任何修改

在这里插入图片描述

2.2、outdoor.bag、west.bag

params.yaml 改成如下,便可运行

extrinsicRot 和 extrinsicRPY 设为单位矩阵

  # Extrinsics (lidar -> IMU)extrinsicTrans: [0.0, 0.0, 0.0]# extrinsicRot: [-1, 0, 0,#                 0, 1, 0,#                 0, 0, -1]#extrinsicRPY: [0,  1, 0,#                -1, 0, 0,#                 0, 0, 1]extrinsicRot: [1, 0, 0,0, 1, 0,0, 0, 1]extrinsicRPY: [1, 0, 0,0, 1, 0,0, 0, 1]

imuTopic: “imu_raw” 改为 imuTopic: “imu_correct”

 imuTopic: "imu_correct"                         # IMU data

outdoor.bag :

在这里插入图片描述
west.bag:

在这里插入图片描述

2.3、park.bag

这个数据集有 gps 数据,更改文件 params.yaml 文件即可使用gps数据;

更改文件第一处:

gpsTopic: "odometry/gpsz"  改为 gpsTopic: "odometry/gps"  

更改文件第二处:

useImuHeadingInitialization: false 改为 useImuHeadingInitialization: true 

运行结果:

在这里插入图片描述

三、一些比较好的参考链接

方便自己查阅

参考链接1-安装liosam的其他问题

参考链接2-适配自己的传感器

参考链接3-论文学习和数据运行

参考链接4-数据格式要求和标定

参考链接5-lio-sam 适配 Mid360(livox雷达)

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

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

相关文章

选数(dfs,isprime)

题目&#xff1a;P1036 [NOIP2002 普及组] 选数 - 洛谷 | 计算机科学教育新生态 (luogu.com​​​​​​.cn) #include<bits/stdc.h> using namespace std; int n,k; int a[22]; long long ans; bool isprime(int n){for(int i2;i<sqrt(n);i){if(n%i0) return false;…

dm8 开启归档模式

dm8 开启归档模式 1 命令行 [dmdbatest1 dm8]$ disql sysdba/Dameng123localhost:5237服务器[localhost:5237]:处于普通打开状态 登录使用时间 : 3.198(ms) disql V8 SQL> select name,status$,arch_mode from v$database;行号 NAME STATUS$ ARCH_MODE ----------…

【嵌入式开发 Linux 常用命令系列 7.4 -- awk 处理文件名,去除后缀只保留文件名】

请阅读【嵌入式开发学习必备专栏 】 文章目录 awk 处理文件名&#xff0c;去除后缀只保留文件名 awk 处理文件名&#xff0c;去除后缀只保留文件名 在 shell 中&#xff0c; 可以使用 awk 来处理文件名&#xff0c;去除其后缀。下面是一个示例命令&#xff0c;它会将带有后缀的…

qtcreator配置msvc编译器 visual studio配置qt开发 以及使用对比

qtcreator配置msvc编译器开发 qtcreator在线安装&#xff08;qt5.12之后&#xff09;时候&#xff0c;默认选择的是mingw&#xff08;gcc编译器的windows版本&#xff09;的qt库以及migw编译器&#xff0c;我们可以额外勾选msvc&#xff08;visual studio的编译器&#xff0c;…

IPv4子网判断

有时候&#xff0c;服务后端需要对客户端的所属组进行判断&#xff0c;以决定何种访问策略权限。而客户端IP所在子网是一种很简单易实现的分组方法。 虽然现在早已经进入IPv6时代&#xff0c;不过IPv4在局域网仍广泛使用&#xff0c;它的定义规则相对简单&#xff0c;本文介绍的…

Python中输出显示台的设置

效果: 前言 这种文字显示的方式很适合新手来学习,毕竟新手还学不到pygame做游戏的, Python入门我们一般都学的是输入输出的游戏,但是如果加上一些文字和背景的改善可能会更好. 如何改变字体颜色 字体颜色(跟他的变量名是一样的): #改变字体颜色 RED \033[91m GREEN \033…

前端开发语言概览

前端开发语言概览 在当今数字化时代&#xff0c;前端开发已成为构建网站和应用程序不可或缺的一部分。前端开发主要关注用户界面的设计和交互效果&#xff0c;为用户提供良好的用户体验。而要实现这一目标&#xff0c;前端开发者需要掌握多种编程语言和技术。本文将详细介绍一些…

EasyExcel 模板导出excel、合并单元格及单元格样式设置。 Freemarker导出word 合并单元格

xls文件&#xff1a; 后端代码&#xff1a; InputStream filePath this.getClass().getClassLoader().getResourceAsStream(templateFile);// 根据模板文件生成目标文件ExcelWriter excelWriter EasyExcel.write(orgInfo.getFilename()).excelType(ExcelTypeEnum.XLS).withTe…

c#仿ppt案例

画曲线 namespace ppt2024 {public partial class Form1 : Form{public Form1(){InitializeComponent();}//存放所有点的位置信息List<Point> lstPosition new List<Point>();//控制开始画的时机bool isDrawing false;//鼠标点击开始画private void Form1_MouseD…

【C语言基础】:自定义类型(一)--> 结构体

文章目录 一、内置类型与自定义类型1.1 内置类型&#xff08;基本数据类型&#xff09;1.2 自定义类型 二、结构体2.1 结构体的声明2.2 结构体变量的创建和初始化2.3 结构体的特殊声明2.4 结构体的自引用 三、结构体内存对齐3.1 对齐规则3.2 为什么存在内存对齐3.3 修改默认对齐…

C++心决之内联函数+auto关键字+指针空值

目录 7.内联函数 7.1 概念 7.2 特性 8. auto关键字(C11) 8.1 类型别名思考 8.2 auto简介 8.3 auto的使用细则 8.4 auto不能推导的场景 9. 基于范围的for循环(C11) 9.1 范围for的语法 9.2 范围for的使用条件 10. 指针空值nullptr(C11) 10.1 C98中的指针空值 7.内联…

如何优化TCP?TCP的可靠传输机制是什么?

在网络世界中&#xff0c;传输层协议扮演着至关重要的角色&#xff0c;特别是TCP协议&#xff0c;以其可靠的数据传输特性而广受青睐。然而&#xff0c;随着网络的发展和数据量的激增&#xff0c;传统的TCP协议在效率方面遭遇了挑战。小编将深入分析TCP的可靠性传输机制&#x…

基于springboot+vue+Mysql的实习管理系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

达梦数据库同步工具DMHS快速安装

1.DM端DMHS安装 1.1.上传安装文件 DMHS的安装需要以下文件 dm8_20230629_x86_rh6_64_ent_8.1.3.26_dmdci.zip dmhs_V4.3.08_dm8_rev127399_rh6_64_veri_20230407_sp8.bin 1.2.执行DMHS安装 [rootdameng ~]# mkdir /dmhs [rootdameng ~]# chown -R dmdba:dinstall /dmhs/ […

【C++】编程规范之函数规则

对所有函数入参进行合法性检查 在编写函数时&#xff0c;应该始终对所有传入的参数进行合法性检查&#xff0c;以防止出现意外的错误或异常情况。这包括但不限于检查指针是否为空、整数是否在有效范围内、数组是否越界等等。通过对参数进行严格的合法性检查&#xff0c;可以避免…

2024.2.19力扣每日一题——N叉树的后序遍历

2024.2.19 题目来源我的题解方法一 递归实现&#xff08;深度优先遍历&#xff09;方法二 迭代实现&#xff08;栈&#xff09; 题目来源 力扣每日一题&#xff1b;题序&#xff1a;590 我的题解 方法一 递归实现&#xff08;深度优先遍历&#xff09; 与二叉树的后序遍历的…

c++游戏 狼人杀(升级)

代码&#xff1a; #include <iostream>//C输入输出流库 #include <cstdlib>//使用srand函数要用到这个库 #include <ctime>//使用time函数要用到这个库 #include <Windows.h> #include <conio.h>long long sr0; using namespace std; void brc(…

Spring——依赖注入

开启DI服务(依赖注入) DI依赖注入的理解 依赖开发人员提供相关输入依赖Spring容器对象将相关数据赋到属性中 基于XML文件 通过set方法注入 property标签通过调用属性对应的set方法完成赋值属性赋值 基本类型赋值 value"xxx"引用类型赋值 ref "xxx" …

VScode-配置文件

导入配置文件 ShiftCtrlp 输入&#xff1a; import 选择文件 点击确认 导出配置文件 设置选择导出 确认导出 保存为本地文件 保存文件

黄金票据攻击

黄金票据攻击——域内横向移动技术 一、黄金票据攻击介绍&#xff1a; 黄金票据攻击是一种滥用Kerberos身份认证协议的攻击方式&#xff0c;它允许攻击者伪造域控krbtgt用户的TGT&#xff08;Ticket-Granting Ticket&#xff09;。通过这种方法&#xff0c;攻击者可以生成有效…