LVI-SAM代码复现、调试与运行

这篇具有很好参考价值的文章主要介绍了LVI-SAM代码复现、调试与运行。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、LVI-SAM介绍

        LVI-SAM是Tixiao Shan的最新力作,Tixiao Shan是Lego-loam和Lio-sam的作者,LVI-SAM是Tixiao Shan最新开源的基于视觉-激光-惯导里程计SLAM框架,结合了Lio-sam和Vins-Mono的视觉-激光-惯导融合的SLAM框架。

LVI-SAM代码复现、调试与运行
LVI-SAM系统框架

        文章主要工作:

  • 实现了一个激光-视觉-惯性的紧耦合系统(单目相机和16线激光雷达),通过因子图实现多传感器的融合,全局优化和回环检测;
  • 通过故障检测机制,避免了单一子系统故障,导致系统不能使用的情况,提高了系统的鲁棒性;
  • 利用不同的数据集进行了验证。 

        源码开源地址:LVI-SAM

 二、安装依赖

        电脑配置:

Ubuntu 18.04 + ROS Melodic + GTSAM 4.1.0 + CERES 1.14.0

        在编译该功能包之前,我们需要先安装相关依赖功能。

2.1 安装ROS

        根据自己的Ubuntu版本安装对应的ROS版本,18.04对应ROS melodic。具体安装过程不多做介绍,可参考ROS wiki官网教程.或者检索其他文章。

2.2 安装GTSAM

git clone https://github.com/borglab/gtsam.git

mkdir build && cd build

cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF .. //直接cmake可能会报错

sudo make install -j4

2.3 安装Ceres

git clone https://github.com/ceres-solver/ceres-solver.git

mkdir build && cd build

cmake ..

sudo make install -j4

        如果报错,可能是因为缺少相关依赖:

sudo apt-get install -y libgoogle-glog-dev
sudo apt-get install -y libatlas-base-dev

        安装完之后重复Ceres的安装过程。

三、创建工作空间并下载源码编译

         源码开源地址:LVI-SAM

mkdir ~/catkin_ws/src

cd ~/catkin_ws/src

git clone https://github.com/TixiaoShan/LVI-SAM.git

        解压到当前文件夹

cd ..

catkin_make -j4

四、运行数据集

4.1 下载数据集

        示例数据Google网盘链接:https://drive.google.com/drive/folders/1q2NZnsgNmezFemoxhHnrDnp1JV_bqrgV?usp=sharing

        为了方便下载,已转移其中两个数据集至百度网盘,有需要可以使用下方链接获取:

链接: https://pan.baidu.com/s/1yD1d0f0LmRrVrJY2c78X0Q 提取码: v9ds

LVI-SAM代码复现、调试与运行

 4.2 启动程序运行数据集:

//启动LVI-SAM建图节点
roslaunch lvi_sam run.launch

//启动LVI-SAM建图节点
rosbag play handheld.bag

        如果出现报错:[run.launch] is neither a launch file in package [lvi_sam] nor is [lvi_sam] a launch file name.

LVI-SAM代码复现、调试与运行

         运行如下代码,再次重复启动LVI-SAM建图节点和启动LVI-SAM建图节点的操作。

source devel/setup.bash

        如果运行rviz界面是这样的:

LVI-SAM代码复现、调试与运行

         并且终端出现报错:

[mapOptmization-7] process has died [pid 14493, exit code 127, cmd
/home/zard/catkin_ws/devel/lib/lego_loam/mapOptmization __name:=mapOptmization __log:
=/home/zard/.ros/log/922c7a94-0354-11ed-951b-8d0be314719f/mapOptmization-7.log].

        lvi_sam_imuPreintegration进程被杀死,lvi_sam_mapOptmization进程被杀死。

LVI-SAM代码复现、调试与运行

         原因是未安装 libmetis 库,通过安装libparmetis-dev修复它重新运行即可:

sudo apt-get install libparmetis-dev

        运行成功截图:

LVI-SAM代码复现、调试与运行

LVI-SAM代码复现、调试与运行

        查看handheld.bag的信息:

rosbag info handheld.bag

LVI-SAM代码复现、调试与运行文章来源地址https://www.toymoban.com/news/detail-447424.html

到了这里,关于LVI-SAM代码复现、调试与运行的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Segment Anything Model(SAM)模型解读及代码复现

    Segment Anything Model论文 Segment Anything Model官网 Segment Anything Model官网demo网页端 Segment Anything Model模型源码 SAM应用:生成包含语义信息的遥感图像分割结果 We introduce the Segment Anything (SA) project: a new task, model, and dataset for image segmentation. Using our efficient model in a data collection loop, we bu

    2024年02月06日
    浏览(46)
  • 【自用】SAM模型论文笔记与复现代码(segment-anything-model)

    一个 prompt encoder ,对提示进行编码, image encoder 对图像编码,生成embedding, 最后融合2个 encoder ,再接一个轻量的 mask decoder ,输出最后的mask。 模型结构示意图: 流程图: 模型的结构如上图所示. prompt会经过 prompt encoder , 图像会经过 image encoder 。然后将两部分embedding经过一个

    2024年01月24日
    浏览(44)
  • SAM(segment anything model)本地部署复现

    源码位置:https://github.com/facebookresearch/segment-anything 或者 直接下载,解压到当前文件夹,并把解压出的文件夹名字改成segment-anything 1、进入segment-anything文件夹 2、安装 3、安装其他依赖 4、下载模型文件到segment-anything文件夹内 default or vit_h: vit_l: vit_b: 5、下载数据集 或者用自己

    2024年02月11日
    浏览(44)
  • DEMATEL-ISM模型的Python实现——方法介绍以及代码复现

    本文源于笔者的《系统工程》课程的小组作业,笔者尝试运用DEMATEL-ISM方法来进行分析,建模求解,但在网络上并没有找到相应的,特别是集合DEMATEL-ISM方法的代码。因此自己码了DEMATEL-ISM模型的Python代码,并作为第一个博客发布~ 参考文献中,笔者主要参考了李广利等 1 的研

    2023年04月20日
    浏览(37)
  • 使用Pycharm实现ssh连接并可以远程调试和运行代码

    远程连接服务器时,若想远程调试和运行代码,可以使用Pycharm中的Deployment来配置 首先需要知道服务器上的IP、端口号以及用户名,就可以通过ssh实现远程连接 最简单的方式就是通过自己电脑上的cmd或终端等直接输入命令: ssh user_name@ip -p 端口号 然后输入密码即可访问 点击

    2024年04月11日
    浏览(42)
  • 使用visual studio编译调试代码时,运行窗口一闪而过

            对于头一次使用visual studio或者是刚接触编程使用visual studio软件时,可能会遇到这么个情况:代码好不容易写好后准备进行调试,按下调试发现有个什么东西在屏幕上一闪而过,然后下面的输出框显示生成成功,但自己却什么也没有看到,遇到这种情况该怎么办?  

    2024年02月08日
    浏览(95)
  • 采用Vscode进行ssh连接远程服务器并实现代码运行和调试

    这篇博客介绍了使用Pycharm进行ssh连接服务器进行代码调试:https://blog.csdn.net/m0_48086806/article/details/135112106 实际上使用Vscode也可以进行同样的操作 VSCode,全称为 Visual Studio Code ,是一款由微软开发的免费开源代码编辑器。它支持多种编程语言,并且具有强大的功能和扩展性。

    2024年01月17日
    浏览(56)
  • windows 下使用 vscode + mingw 完成简单 c 或 cpp 代码的运行与调试

    本文为原链的镜像链接,更新可能不及时,如有能力,请访问原始链接。 基于 VS Code + MinGW-w64 的 C 语言/C++简单环境配置,专致小白 环境: Win10 21H2 19044.1381 + mingw + vscode 1.74.3 + C/C++ Extension Pack 插件 国内镜像盘: 链接 密码:1dcs 简单来说共分为 4 步 下载 mingw , vscode 和 插件 并

    2024年02月08日
    浏览(40)
  • 浏览器控制台调试代码和JavaScript控制台方法介绍

    浏览器控制台调试代码 浏览器控制台(Console)是浏览器提供的一个开发工具,用于在浏览器中执行和调试 JavaScript 代码。它提供了一个交互式环境,可以输入 JavaScript 代码,并立即看到代码执行结果或输出信息。 在大部浏览器中,可以通过按下 F12 键或右键点击网页并选择

    2024年02月03日
    浏览(95)
  • vs调试运行程序出现:“由于找不到MSVCP140D.dll,无法继续执行代码 ”的解决方法

    碎碎念 最近在使用Visual studio调试程序的时候,突然冒出了“由于找不到MSVCP140D.dll,无法继续执行代码。重新安装程序可能会解决次问题。”的错误。如下图所示。在网上尝试了很多别人的解决方案,都没有效果。 最后在不懈努力下终于可以正常运行了。 以下我尝试过的无

    2024年02月03日
    浏览(62)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包