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雷达)
相关文章:
ubuntu20.04 运行 lio-sam 流程记录
ubuntu20.04 运行 lio-sam 一、安装和编译1.1、安装 ROS11.2、安装 gtsam1.3、安装依赖1.4、下载源码1.5、修改文件1.6、编译和运行 二、官方数据集的运行2.1、casual_walk_2.bag2.2、outdoor.bag、west.bag2.3、park.bag 三、一些比较好的参考链接 记录流程,方便自…...
P5356 [Ynoi2017] 由乃打扑克
我手把手教她打扑克 qwq 综合分析一下2个操作,查找区间第k小的值,感觉可以用主席树,区间修改那没事了 考虑分块做法,块长B 分析第一个操作 只需要维护数列的单调性,然后二分答案上二分就ok了 分析第二个操作 维护一个加法懒…...
随机潮流应对不确定性?计及分布式发电的配电系统随机潮流计算程序代码!
前言 随着分布式电源在电力系统中所占比例的不断扩大,研究分布式发电对系统稳态运行的影响势在必行。带分布式发电的潮流计算常常用来评估其并网后对系统的影响,同时它也是分析分布式发电对电网稳定性的影响等其他理论研究工作的基础。然而,许多分布式发…...
Oracle表空间满清理方案汇总分享
目录 前言思考 一、第一种增加表空间的数据文件数量达到总容量的提升 二、第二种解决方案针对system和sysaux的操作 2.1SYSTEM表空间优化 2.2sysaux表空间回收 2.2.1针对sysaux的表空间爆满还有第二套方案维护 三、第三种解决方案使用alter tablespace resize更改表空间的…...
基于单片机数码管20V电压表仿真设计
**单片机设计介绍,基于单片机数码管20V电压表仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机数码管20V电压表仿真设计的主要目的是通过单片机和数码管显示电路实现一个能够测量0到20V直流电压的电…...
SCI一区 | Matlab实现NGO-TCN-BiGRU-Attention北方苍鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测
SCI一区 | Matlab实现NGO-TCN-BiGRU-Attention北方苍鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现NGO-TCN-BiGRU-Attention北方苍鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型…...
C++——优先级队列
前言:这篇文章我们继续来分享一个c的容器——优先级队列。 一.理解优先级 何为优先级一说?实际上就是有顺序的意思。 优先级队列,即有顺序的队列,是一个无需我们自己进行排序操作,在数据传入时就会由容器自己排好序的…...
docker部署jumpserver
1、安装Docker以及相关依赖 配置yum源 sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin2、添加国…...
ARM FVP平台的terminal窗口大小如何设置
当启动ARM FVP平台时,terminal窗口太小怎么办?看起来非常累眼睛,本博客来解决这个问题。 首先看下ARM FVP平台对Host主机的需求: 通过上图可知,UART默认使用的是xterm。因此,我们需要修改xterm的默认字体设…...
003 静态代理
文章目录 StudentServiceImplStudentService.javaStudentServiceProxy.javaStudentServiceProxy1.javaStudentServiceProxyTest.java StudentServiceImpl package com.aistart.service.impl;import com.aistart.mapper.StudentMapper; import com.aistart.pojo.Student; import…...
基于JAX的二阶优化方法的实践
使用协作分支上的算法 git clone https://github.com/linjing-lab/jax.git cd jax git checkout linjing-lab cd examples在命令行预览方法 牛顿方法: cat newton_method.py拟牛顿法: cat bfgs_method.py在命令行运行程序 python newton_method.pyp…...
【计算机考研】408算法大题怎么练?
先说结论:基础阶段学好各个数据结构与,重点是数组、链表、树、图。然后强化阶段突破算法提 在基础阶段,并不需要过于专门地练习算法。相反,基础阶段的重点应该放在对各种数据结构原理的深入理解上。在我个人的经验中,…...
输入框验证数字类型
校验大于0的数,且小数点后最多为八位小数 let k /^(?!0(\.0)?$)\d(\.\d{1,8})?$/; console.log(k.test(0.00000001)); // true console.log(k.test(0.00000000)); // false console.log(k.test(0.12)); // true console.log(k.test(12.12)); // true输入0-1的数字…...
LeetCode 377——组合总和 Ⅳ
阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 此题一看应该就是需要用到动态规划算法,假设我们以 f[d]表示总和为 d 的元素组合的个数,首先,我们遍历 nums 数组, 如果有 nums[i] < target,那么组…...
ubuntu同步网络时间
安装ntpdate sudo apt-get update sudo apt-get install ntpdate设置系统时间与网络时间同步 sudo ntpdate cn.pool.ntp.org设置时区亚洲上海 sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime设置时间为24小时制 echo "LC_TIMEen_DK.UTF-8" >>/…...
Flink学习(四)-数据管道 ETL
一、状态转换 map() 只适用于一对一的转换,即对每个进入算子的流元素,map() 将仅输出一个转换后的元素。 flatmap() 可以输出任意数量的元素,也可以一个都不发。 二、Keyed Streams keyBy() 相当于 sql 中的 group by,通过…...
Python可视化之Matplotlib
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1、解决坐标轴刻度负号乱码2、解决中文乱码问题3、图形展现形式 一、图形绘制1.折线图plot2.散点图plot&scatter3.柱状图plt.bar&条形图plt.barh4.直方…...
ChatGPT全方位解析:如何培养 AI 智能对话技能?
简介 ChatGPT 的主要优点之一是它能够理解和响应自然语言输入。在日常生活中,沟通本来就是很重要的一门课程,沟通的过程中表达的越清晰,给到的信息越多,那么沟通就越顺畅。 和 ChatGPT 沟通也是同样的道理,如果想要C…...
[C++/Linux] UDP编程
一. UDP函数 UDP(用户数据报协议,User Datagram Protocol)是一种无连接的网络协议,用于在互联网上交换数据。它允许应用程序发送数据报给另一端的应用程序,但不保证数据报能成功到达,也就是说,它…...
深入探索Linux的lsof命令
在Linux系统中,了解哪些文件被哪些进程打开对于系统管理和问题诊断是极其重要的。这正是lsof命令,即List Open Files,发挥其强大功能的场景。本文旨在详细介绍lsof的起源、底层原理、参数意义,常见用法,并详解其返回结…...
Hitboxer终极指南:免费开源SOCD清洁工具让游戏操作更丝滑
Hitboxer终极指南:免费开源SOCD清洁工具让游戏操作更丝滑 【免费下载链接】socd SOCD cleaner tool for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 还在为游戏中的方向冲突而烦恼吗?当你在激烈的对战中同时按下左右方向键&a…...
如何快速实现Tale博客系统国际化:多语言博客搭建完整指南
如何快速实现Tale博客系统国际化:多语言博客搭建完整指南 【免费下载链接】tale 🦄 Best beautiful java blog, worth a try 项目地址: https://gitcode.com/gh_mirrors/ta/tale Tale博客系统是一款优雅的Java博客程序,提供了强大的内…...
StructBERT中文情感WebUI多语言支持:中英双语界面切换与结果输出
StructBERT中文情感WebUI多语言支持:中英双语界面切换与结果输出 1. 项目介绍与核心价值 如果你正在寻找一个能快速上手、效果不错的中文情感分析工具,那么今天介绍的StructBERT中文情感分析WebUI,可能就是你的理想选择。这个项目基于百度开…...
告别重复劳动:用快马ai生成高效openclaw脚本提升安卓测试效率
告别重复劳动:用快马AI生成高效OpenClaw脚本提升安卓测试效率 在安卓自动化测试中,编写重复性的设备操作脚本往往是最耗时耗力的环节。每次测试新版本,我们都需要重复编写类似的点击、滑动、输入等操作代码,不仅效率低下…...
重新定义AI助手体验:突破Cursor Pro限制的5个技术方案
重新定义AI助手体验:突破Cursor Pro限制的5个技术方案 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tri…...
GLM-OCR服务监控与运维指南:使用Prometheus与Grafana搭建看板
GLM-OCR服务监控与运维指南:使用Prometheus与Grafana搭建看板 想象一下,你负责的GLM-OCR服务正在线上稳定运行,突然接到业务方反馈,说图片识别接口响应变慢了。你第一反应是什么?是登录服务器看日志,还是去…...
Marp CLI元数据管理:如何优化SEO和社交媒体分享
Marp CLI元数据管理:如何优化SEO和社交媒体分享 【免费下载链接】marp-cli A CLI interface for Marp and Marpit based converters 项目地址: https://gitcode.com/gh_mirrors/ma/marp-cli Marp CLI是一款强大的命令行工具,让你仅用纯Markdown就…...
Graphormer部署教程:/etc/supervisor/conf.d/graphormer.conf配置解析
Graphormer部署教程:/etc/supervisor/conf.d/graphormer.conf配置解析 1. 项目介绍 Graphormer是一种基于纯Transformer架构的图神经网络模型,专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。该模型在OGB、PCQM4M等…...
Leather Dress Collection 角色扮演效果:模拟不同风格的IT技术面试官
Leather Dress Collection 角色扮演效果:模拟不同风格的IT技术面试官 最近在玩一个挺有意思的AI工具,叫Leather Dress Collection。名字听起来有点怪,但它有个功能让我眼前一亮:角色扮演。你可以让它扮演各种角色,并且…...
3步精通Path of Building PoE2:流放之路2玩家的角色规划零门槛指南
3步精通Path of Building PoE2:流放之路2玩家的角色规划零门槛指南 【免费下载链接】PathOfBuilding-PoE2 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding-PoE2 你是否曾在《流放之路2》中遭遇这样的困境:投入数十小时培养的…...
