1.跑TUM_VI数据集dataset-corridor4_512时,从tum_vi_example.sh中复制对应的运行命令,输入命令后提示找不到对应的TUM_512.yaml文件,查找对应路径发现只有一个TUM-VI.yaml

应该是作者新发布的版本进行了删改,tum_vi_example.sh是作者早期发布的版本里提供的脚本,但是后来版本更新时不知道为什么给删掉了,找了一下作者以前发行版本的代码是有TUM_512.yaml这个文件的,对比了一下两个文件的相关参数是一致的,只有个别参数变量不一样,所以在终端将TUM_512.yaml替换为TUM-VI.yaml即可。

[rosbuild] rospack found package “ORB_SLAM3” at “”,but the current directory is “xxx/ORB_SLAM3/Examples/ROS/ORB_SLAM3”.You should double-check your ROS_PACKAGE_PATH to ensure that package are found in te correct precedence order.


提示说ROS包路径有问题。这是因为你并没有把你当前的ROS代码路径添加到ROS_PACKAGE_PATH环境变量中,导致找不到。解决办法也很简单,sudo gedit ~/.bashrc打开编辑器,然后再末尾添加如下内容(注意对应路径要换成你自己的):

export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:YOUR_PATH/Examples/ROS/ORB_SLAM3

2.ModuleNotFoundError: No module named ‘rospkg’

ModuleNotFoundError: No module named 'rospkg'
CMake Error at /opt/ros/melodic/share/ros/core/rosbuild/private.cmake:77 (message):[rosbuild] Syntax check of ORB_SLAM3/manifest.xml failed; aborting
Call Stack (most recent call first):/opt/ros/melodic/share/ros/core/rosbuild/public.cmake:174 (_rosbuild_check_manifest)CMakeLists.txt:7 (rosbuild_init)-- Configuring incomplete, errors occurred!
See also "/home/lusx/Demos/ORB-SLAM3/ORB_SLAM_uz/Examples_old/ROS/ORB_SLAM3/build/CMakeFiles/CMakeOutput.log".

解决方式:

pip install rospkg                       //更新方式1
sudo apt-get install python-rospkg           //更新方式2

3./ImuTypes.h:29:10: fatal error: sophus/se3.hpp: No such file or directory

ROS目录下的CMakeLists.txtinclude_directories加一句

${PROJECT_SOURCE_DIR}/../../../Thirdparty/Sophus

4.ROS版本编译成功之后,运行如下命令,出现segmentation fault(core dumped)

rosrun ORB_SLAM3 Mono_Inertial ../../../Vocabulary/ORBvoc.txt TUM-VI.yaml true

将ORB-SLAM3目录和ROS/ORBSLAM3目录下的CMakeLists.txt中opencv的版本换成3.2.0,然后重新编译后解决,成功出现UI界面

5.程序跑起来后,播放数据集并将相机和IMU的topic名称转换成ORBSLAM3需要的名称,但是系统没有订阅到相关话题,UI界面无图像显示,通过rqt_graph查看发现系统只订阅到了imu的数据

原因:ROS系统下双目和单目订阅的话题是不同的,所以需要转换成不同的话题名称,而且单目的相机只需要转换cam0一个相机的就可以了,,流泪。。。
跑单目SLAM

# 启动ROS
roscore
# 启动程序
rosrun ORB_SLAM3 Mono_Inertial ../../../Vocabulary/ORBvoc.txt ../../Monocular-Inertial/EuRoC.yaml true
# 播放数据集
rosbag play ~/data/EuRoc/MH_01_easy.bag /cam0/image_raw:=/camera/image_raw /imu0:=/imu

6.跑双目程序报错

Input sensor was set to: Stereo-Inertial
Loading settings from TUM-VI.yaml
Camera1.overlappingBegin required parameter does not exist, aborting...
OpenCV Error: Assertion failed (tlsSlots.size() > slotIdx) in releaseSlot, file /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/core/src/system.cpp, line 1092
terminate called after throwing an instance of 'cv::Exception'what():  /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/core/src/system.cpp:1092: error: (-215) tlsSlots.size() > slotIdx in function releaseSlot

原因:虽然单目和双目,以及文件夹Example Example_old中的yaml文件的名称都是一样的,但是不可以通用,,如果跑Stereo_Inertial则需要使用Example_old/Stereo-Inertial/中相应的文件,再次流泪。。。

跑双目数据集

#启动ROS
roscore
#启动程序
rosrun ORB_SLAM3 Stereo_Inertial ../../../Vocabulary/ORBvoc.txt ../../Stereo-Inertial/EuRoC.yaml true
#播放数据集
rosbag play ~/data/EuRoc/MH_01_easy.bag /cam0/image_raw:=/camera/left/image_raw /cam1/image_raw:=/camera/right/image_raw /imu0:=/imu

放一张漂亮的轨迹图

在ubuntu18.04系统上使用ROS跑ORB-SLAM3时遇到的问题总结相关推荐

  1. 基于arm开发板在ubuntu18.04系统上编译vlc播放器

    前言 VLC 是一款自由.开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD.音频 CD.VCD 及各类流媒体协议.接下来将通过vlc源码进行编译 环境 arm64开发硬件 ubun ...

  2. 源码编译Ros, Ubuntu18.04系统使用源码编译Ros1,出错集合及其解决办法

    官方的介绍http://wiki.ros.org/kinetic/Installation中提到了,脚本安装的方法it is available for Ubuntu Wily (15.10) and ...

  3. 【githubshare】基于 C 语言编写的一款 2D 太空射击游戏,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试

    基于 C 语言编写的一款 2D 太空射击游戏:space-shooter.c,已在 Windows 10 和 Ubuntu Linux 16.04 系统上跑通测试. GitHub:github.com ...

  4. ubuntu18.04 ros-melodic 在安装ros依赖包时总是出现E软件包无法定位

    ubuntu18.04 ros-melodic 在安装ros依赖包时总是出现E软件包无法定位 鱼香ROS介绍: 鱼香ROS是由机器人爱好者共同组成的社区,欢迎一起参与机器人技术交流. 进交流群请加机器 ...

  5. ubuntu18.04桌面版安装ROS软件

    机器人操作系统(ROS)入门 文章目录 机器人操作系统(ROS)入门 ROS简介 什么是ROS ROS产生.发展和壮大的原因 ubuntu18.04桌面版安装ROS软件并运行小海龟实例 ROS的安装 ...

  6. 如何快速在Ubuntu18.04.1上安装k8s1.20的简明教程

    快速在Ubuntu18.04.1上安装k8s1.20 k8s官网 Install Tools kubectl minikube kubeadm Ubuntu18.04.1上k8s1.20安装教程 安装 ...

  7. Ubuntu18.04系统下安装IDL8.4版本(破解版)

    Ubuntu18.04系统下安装IDL8.4版本(破解版) 为了安装IDL,把硬盘都弄坏了的我已经不知道重装了多少遍IDL了/(ㄒoㄒ)/~~ 踩了N多的坑,遇到N多问题,这一次终于算是安装好,可以成 ...

  8. RK3399核心板,装Ubuntu18.04系统,LVDS屏幕配置

    使用RK3399核心板CORE-3399-JD4,接口板是自制的,采用MIPI接口转LVDS,现在在3399的板子上装ubuntu18.04系统,在该系统上点亮LVDS屏幕. 1.首先安装Linux系 ...

  9. Ubuntu18.04系统下,gcc编译过程分析、命令参数介绍及ELF文件格式学习

    GCC编译器背后的故事及常用命令.了解ELF文件格式 文章目录 GCC编译器背后的故事及常用命令.了解ELF文件格式 前言 一.GCC简介 二.GCC背后的战友 1.Binutils 2.C运行库 三 ...

  10. 基于30系显卡以及Ubuntu18.04系统的YOLOv3环境搭建和训练模型以及测试

    基于30系显卡以及Ubuntu18.04系统的YOLOv3环境搭建和训练模型以及测试 安装环境 下面是官网对N卡框架以及驱动和cuda版本的部分对应关系 驱动 (可以跳过这段安装,你可以在安装CUDA ...

最新文章

  1. 设计模式之代理模式(Proxy Pattern)
  2. vi/vim 命令手册(初级篇)
  3. monty python-网易云音乐
  4. python快速编程入门例题-python编程入门知识练习
  5. 【Pthon入门学习】多级菜单小例子
  6. 程序员整理的各种不错的工具
  7. PHP 中文文件名 空格等 CURL 读取
  8. Android 在 Fragment 中使用 getActivity() NullPointException 的思考和解决办法
  9. 随机信号功率谱估计方法matlab仿真
  10. 利用EditPlus制作Anki记忆卡批量导入文件
  11. 基于c#的winform中图片放大后不清晰问题
  12. HDU 5857 Median(找中位数)
  13. 用Javascript 编写 HTML在线编辑器
  14. webview加载pdf
  15. Hyper-v带宽限制以及验证工具
  16. C++基础入门---9.项目:通讯录管理系统【P72~P83】
  17. Retrofit实现文件上传(二)
  18. 天地图解析(瓦片层级、比例尺、行列号计算)
  19. 仿射变换原理和其OpenCV-Python实现知识汇总
  20. 录屏软件哪个好?我推荐好用且免费的野葱

热门文章

  1. Touch Bar 和歌词的组合就很养眼不是吗?如何在 Touch Bar 上显示歌词?
  2. 数学笔记——导数1(导数的基本概念)
  3. 任天堂网站“要求的内容有误”解决方法
  4. 程序员不做独行侠——沟通的核心是感受
  5. sif4j 字符串拼接和占位符的区别
  6. Backtrader量化平台教程(三)Indicator
  7. TIA protal与SCL从入门到精通(3)——软件单元基本介绍
  8. gerrit 将代码从一个分支合并到另外一个分支 Cherry Pick的使用
  9. python使用selenium爬取dell官网驱动(一):获取遍历各驱动的下载网址
  10. 综合实验-基于RS485的多机评分系统