Ubuntu20.04部署编译LVI-SAM

这篇具有很好参考价值的文章主要介绍了Ubuntu20.04部署编译LVI-SAM。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Ubuntu20.04部署编译LVI-SAM,SLAM打怪升级,机器人,ubuntu,Powered by 金山文档

该动图来自LVI-SAM开源地址(https://github.com/TixiaoShan/LVI-SAM)


1 写在开头

1.1 为何诞生此文

近期在学习SLAM相关知识,拜读了此篇经典论文LVI-SAM,因为部署的时候系统版本与开源略有不同,遇到一些问题,故在此记录一下。

1.2 衷心建议

若是大手子,请直接忽视本文。

衷心建议大家先参照开源各版本进行环境配置,可以节省不少时间。

本文所列的遇到的问题均是我遇到的,但是有一些我没有遇到的过程中比较顺利的地方我可能会省略,另外本文是在编译成功后进行复盘产生,需要修改的点可能与源码略有出入,对此给读者造成的不良体验表示歉意。

若有需要可以评论区进行交流。

1.3 编译环境

Ubuntu20.04 + OpenCV4.0.* + ROS noetic + gtsam4.0 + Ceres1.14.0

1.4 参考

在入门过程中很多大佬的笔记给我提供了帮助,本帖也是在各位基础之上汇总而来的内容,再次对各位表示感谢,希望可以同各位一起共创良好的开源环境。

  • 项目开源地址(LVI-SAM) | 项目优化代码(LVI-SAM-Easyused)(本文作者部署代码)

  • 知乎大佬:由粗到细学习SLAM

  • 古月居:LVI-SAM的安装与调试

  • Ubuntu20.04下的编译与运行LIO-SAM【问题解决】

  • 古月居:详细介绍如何在ubuntu20.04中安装ROS系统

2 编译LVI-SAM之前的准备工作

2.1 ROS noetic 安装配置

感谢古月居大佬的笔记,对于Ubuntu20.04下的ROS noetic配置可完全参照其笔记进行,偶尔遇到的也是很小的问题。-古月居:详细介绍如何在ubuntu20.04中安装ROS系统.

2.2 gtsam (Georgia Tech Smoothing and Mapping library)安装配置

gtsam与Ceres 原本按照古月居大佬笔记进行安装,不过可能由于系统环境的原因,存在一定问题,于是按照TixiaoShan指导进行重新覆盖安装。

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

2.3 Ceres (C++ library for modeling and solving large, complicated optimization problems)

在执行下述命令时注意路径,若待安装服务器的Ubuntu已汉化,则路径中Downloads要替换为"下载"。路径可自己选择。

sudo apt-get install -y libgoogle-glog-dev
sudo apt-get install -y libatlas-base-dev
wget -O ~/Downloads/ceres.zip https://github.com/ceres-solver/ceres-solver/archive/1.14.0.zip
cd ~/Downloads/ && unzip ceres.zip -d ~/Downloads/
cd ~/Downloads/ceres-solver-1.14.0
mkdir ceres-bin && cd ceres-bin
cmake ..
sudo make install -j4

2.4 创建工作空间

路径可根据需要修改

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src 
catkin_init_workspace

获取源码

这里注意,我直接部署的LVI-SAM-Easyused,当然,也可以路径换为LVI-SAM的 https://github.com/TixiaoShan/LVI-SAM

git clone https://github.com/Cc19245/LVI-SAM-Easyused

2.5 源码修改

2.5.1 CMakelists.txt

在lvi-sam目录下的CMakelists.txt中修改如下:

set( CMAKE_CXX_FLAGS “-std=c++11” )

修改为set( CMAKE_CXX_FLAGS “-std=c++14” )

Ubuntu20.04部署编译LVI-SAM,SLAM打怪升级,机器人,ubuntu,Powered by 金山文档

在CMakeLists中加入:

find_package(Boost REQUIRED COMPONENTS timer thread serialization chrono)
Ubuntu20.04部署编译LVI-SAM,SLAM打怪升级,机器人,ubuntu,Powered by 金山文档

2.5.2 修改源文件

该处参照古月居大佬,或者根据具体报错进行修改即可

  • LVI-SAM/src/lidar_odometry/utility.h和LVI-SAM/src/visual_odometry/visual_loop/parameters.h以及LVI-SAM/src/visual_odometry/visual_feature/parameters.h三个文件中,

  • 修改:#include <opencv/cv.h> 为 #include <opencv2/opencv.hpp>。

  • LVI-SAM/src/visual_odometry/visual_loop/ThirdParty/DVision/BRIEF.cpp文件添加头文件#include <opencv2/imgproc.hpp>,修改53行CV_RGB2GRAY为 cv::COLOR_RGB2GRAY

  • LVI-SAM/src/visual_odometry/visual_loop/keyframe.cpp的240行CV_FONT_HERSHEY_SIMPLEX改为cv::FONT_HERSHEY_SIMPLEX

  • LVI-SAM/src/visual_odometry/visual_loop/loop_detection.cpp的64, 82, 92, 112, 149行中修改CV_FONT_HERSHEY_SIMPLEX为cv::FONT_HERSHEY_SIMPLEX

2.5.3 编译之前新开一个终端执行下述两行

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

3 编译LVI-SAM

新开终端编译LVI-SAM

cd ~/catkin_ws
catkin_make 

若是编译过程报错,pyhon3……

使用下述命令进行编译

catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

4 运行官方数据集

首先下载数据集,然后跳转到catkin_ws/devel下,这里大家要根据自己的路径修改

cd ~/catkin_ws/devel
source setup.bash
roslaunch lvi_sam run.launch

然后打开另一个终端运行bag

rosbag play garden.bag

5 写在最后

可能我是比较幸运的那一个,没有太大的坑在等我,至此我已经顺利编译完成,明天开始跑数据集。

若在你编译的过程中还遇到其他问题,请务必耐心查找资料,问题总会解决的,如果可以,也欢迎评论区交流。

祝你我皆无BUG。文章来源地址https://www.toymoban.com/news/detail-673587.html

到了这里,关于Ubuntu20.04部署编译LVI-SAM的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu20.04与22.04 openssl与openssl编译安装

    操作系统openssl版本查看: 推荐根据操作系统默认版本下载对应修复版本 ubuntu20.04 openssl版本:OpenSSL 1.1.1f ubuntu22.04 openssl版本:OpenSSL 3.0.2 首先,使用 wget 命令下载 OpenSSL 的源代码压缩包。从 OpenSSL 官方网站上找到最新版本的源代码。 如下以ubuntu20.04示例: 解压源代码 使用

    2024年02月06日
    浏览(65)
  • Ubuntu20.04 交叉编译Paddle-OCR

    参考链接: https://blog.csdn.net/sz76211822/article/details/130466597?spm=1001.2014.3001.5501 参考链接: https://blog.csdn.net/sz76211822/article/details/130461683?spm=1001.2014.3001.5501 1.将Paddle-Lite编译好的cxx文件夹放置到PaddleOCR/deploy/lite目录下 2.将编译好的opencv文件夹放置到cxx目录下 3.除了拷贝过来的源代码

    2024年02月02日
    浏览(52)
  • Ubuntu 20.04源码编译安装OpenCV 4.7.0

    目录 前言 1--下载OpenCV 4.7.0 2--编译安装OpenCV 4.7.0 3--测试 3-1--查看安装的版本 3-2--基于VSCode和CMake测试项目 4--报错解决(重点!) 4-1--OpenCV与FFmpeg不兼容 4-2--LIBTIFF报错 4-3--系统与Anaconda的库lib冲突 4-4--测试时CMake的find_package报错         建议先看第4节相关报错及解决方法,再

    2024年01月16日
    浏览(72)
  • ubuntu 20.04 aarch64 平台交叉编译 opencv

    win10 64 位 VMware Workstation Pro 16 虚拟机 虚拟机安装 ubuntu 20.04 opencv 版本: 来自 github 当前最新 4.7 交叉编译 opencv,用于 嵌入式 aarch64 平台 可以直接从 github 下载 release 版本或者 使用 git clone 最新的 opencv 仓库 github opencv https://github.com/opencv/opencv git clone https://github.com/opencv/openc

    2024年02月09日
    浏览(67)
  • 从头搭建Android源码编译环境(Ubuntu 18.04 / 20.04 / 22.04)

    在新安装的Ubuntu上(版本20.04LTS),完成搭建Android源码编译环境步骤如下。 顺带说一句,当前用的比较多的Ubuntu是18.04和20.04,在实际项目中一直在用,可用性和稳定性都没问题。 最新的Ubuntu22.04版本,系统默认的二进制库变化比较大,编译Android源码有问题(实测过,没细研

    2024年02月06日
    浏览(161)
  • RK3588开发板编译环境Ubuntu20.04编译配置增加交换内存

    迅为提供的编译环境 Ubuntu20.04 默认配置了交换内存是 9G,如果在编译过程中,因内 存不够而编译报错,可以参考本小节进行设置。 这里举例分配 5G 交换内存。 在开始之前,使用命令检查一下您的 ubuntu 的 swap 分区。 sudo swapon --show 通过以下命令创建一个用于 swap 的文件 su

    2024年02月11日
    浏览(45)
  • libreoffice 7 ( arm64 ubuntu20.04 环境) 源码编译

    基础环境 cpu os docker Dockerfile

    2024年02月13日
    浏览(66)
  • Ubuntu20.04部署ntp服务

    系统版本 ip地址 Ubuntu20.04镜像 服务端 Ubuntu20.04 10.1.0.55 ubuntu-20.04.5-live-server-amd64 客户端 Ubuntu20.04 10.1.0.56 ubuntu-20.04.5-live-server-amd64 ntp服务安装包: ntp_4.2.8p12+dfsg-3ubuntu4.20.04.1_amd64.deb ntpdate安装包: ntpdate_4.2.8p12+dfsg-3ubuntu4.20.04.1_amd64.deb Ubuntu下载地址: https://ubuntu.com/download/serv

    2024年02月07日
    浏览(61)
  • ubuntu 20.04 aarch64 平台交叉编译 opencv 静态库

    win10 64 位 VMware Workstation Pro 16 虚拟机 虚拟机安装 ubuntu 20.04 opencv 版本: 来自 github 当前最新 4.7 交叉编译 opencv 生成静态库(.a),用于 嵌入式 aarch64 平台。 参考上一篇 ubuntu 20.04 aarch64 平台交叉编译 opencv 默认会生成 动态库(so),可以通过cmake 配置 -DBUILD_SHARED_LIBS=OFF 关闭动

    2024年02月08日
    浏览(63)
  • ubuntu 20.04部署brc20 ordinals铭文

    1、btc节点部署文档详见btc节点部署 官方文档 2、更改之前节点部署rpc访问方式 下载bitcoin包后相对路径:bitcoin-26.0/share/rpcauth/rpcauth.py 文件 执行文件 创建cookie文件 注释掉bitcoin.conf的账号密码 3、编译ordinals代码 根据情况,如果没有rust环境执行安装 4、同步ordinals数据

    2024年01月16日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包