orb-slam3安装加运行错误记录

1 make如果出莫名其妙的问题的话就再make一遍可能就没了

2

/usr/local/include/sigslot/signal.hpp:1180:65: error: ‘slots_reference’ was not declared in this scope
         cow_copy_type<list_type, Lockable> ref = slots_reference();

这个报错,解决方法是

https://xie.infoq.cn/article/848196c877c2774f43850f575

3

基于ubuntu18.04的ORB_SLAM3安装

https://www.guyuehome.com/37124

4

Failed to load image at: /Datasets/MH01/mav0/cam0/data/1403636579763555584.png

解决方法:数据集地址出现错误,修改数据集地址即可

(1).before:

./Examples/Stereo/stereo_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo/EuRoC.yaml ./datasets/EuRoC/V103 ./Examples/Stereo/EuRoC_TimeStamps/V103.txt dataset-V103_stereo

(2).after:

./Examples/Stereo/stereo_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo/EuRoC.yaml ./datasets/EuRoc/V1_03_difficult ./Examples/Stereo/EuRoC_TimeStamps/V103.txt dataset-V103_stereo

5 大型项目段存储出错的解决方法

错误

Segmentation fault (core dumped)

方法
参考
一定要在当前bash下执行该命令,这个命令只是临时改一下core文件大小

https://blog.csdn.net/peiyao456/article/details/70045195

但是注意core文件不总是生成在运行文件处的,需要updatedb
然后在locate core,找到core以后
core._home_zhangqi_Documents_Project_ORB_SLAM3_Examples_Stereo_stereo_euroc.1000.95116e0a-42c2-4688-b345-694503622b2e.14902.1655829

core的名字里面标着哪个运行文件出错了,也就是home/zhangqi/Documents/Project/ORB/SLAM3/Examples/Stereo/stereo_euroc这个文件出错

在这个文件所在文件夹下运行
gdb +文件名字 +core文件路径 即可

gdb stereo_euroc /var/lib/apport/coredump/*

6 在使用tum数据集,关联时候发生错误

终端命令

python associate.py /home/zhangqi/Documents/Project/ORB_SLAM3/datasets/rgbd_dataset_freiburg2_desk_with_person/rgb.txt /home/zhangqi/Documents/Project/ORB_SLAM3/datasets/rgbd_dataset_freiburg2_desk_with_person/depth.txt > associations.txt

错误

Traceback (most recent call last):
  File "/home/zhangqi/Documents/Project/ORB_SLAM3/evaluation/associate.py", line 118, in <module>
    first_list = read_file_list(args.first_file)
TypeError: read_file_list() missing 1 required positional argument: 'remove_bounds'

这是文件没有找到
将associate.py 文件放在和 rgb.txt 同目录下即可,有时候这个相对路径在Ubuntu里就是找不到,不知道为啥。
之后执行此命令即可

python associate.py rgb.txt depth.txt > associations.txt

之后又发生了这个错误

  File "/home/zhangqi/Documents/Project/ORB_SLAM3/datasets/rgbd_dataset_freiburg2_desk_with_person/associate.py", line 119, in <module>
    matches = associate(first_list, second_list,float(args.offset),float(args.max_difference))    
  File "/home/zhangqi/Documents/Project/ORB_SLAM3/datasets/rgbd_dataset_freiburg2_desk_with_person/associate.py", line 96, in associate
    first_keys.remove(a)
AttributeError: 'dict_keys' object has no attribute 'remove'

这个是python版本的不兼容
只需要将文件中86行位置的程序由

first_keys = first_list.keys()
second_keys = second_list.keys()

换为

first_keys = list(first_list)
second_keys = list(second_list)

这里引用了这个回答

https://blog.csdn.net/sinat_39411798/article/details/101349847

之后又发生这个错误,是python格式没顶齐,python是一种对缩进非常敏感的语言,最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的。

IndentationError: unexpected indent

详见

https://blog.csdn.net/qq_35038153/article/details/72457906

6.tum数据集

先关联

后运行

./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml /home/zhangqi/Documents/Experiment/Datasets/Tum/*desk*  /home/zhangqi/Documents/Experiment/Datasets/Tum/*desk*/associations.txt
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml ./datasets/*walking*  ./datasets/*walking*/associations.txt

单目+VIO

./Monocular-Inertial/mono_inertial_tum_vi ../Vocabulary/ORBvoc.txt Monocular-Inertial/TUM-VI.yaml /home/zhangqi/Documents/Experiment/Datasets/Tum/dataset-room1_512_16/mav0/cam0/data Monocular-Inertial/TUM_TimeStamps/dataset-room1_512.txt Monocular-Inertial/TUM_IMU/dataset-room1_512.txt dataset-room1_512_monoi

error

./Examples/RGB-D/rgbd_tum: error while loading shared libraries: libORB_SLAM3.so: cannot open shared object file: No such file or directory
rm build
./build

7.evo评价定位准确度

evo_ape tum /home/zhangqi/Documents/Experiment/Datasets/Tum/*desk*/groundtruth.txt KeyFrameTrajectory.txt -va --plot
evo_ape tum datasets/*walking*/groundtruth.txt KeyFrameTrajectory.txt -va --plot

8.换文件

CMake Error: The current CMakeCache.txt directory /home/zhangqi/Documents/Graduate_Project/ORB_SLAM3/Thirdparty/g2o/build/CMakeCache.txt is different than the directory /home/zhangqi/Documents/Project/ORB_SLAM3/Thirdparty/g2o/build where CMakeCache.txt was created. This may result in binaries being created in the wrong place. If you are not sure, reedit the CMakeCache.txt
rm build
./build

9.编译期间的错误

从某处开始都是not declare,证明那一处多一个括号。看一下最前面的错误出在哪行,然后仔细检查一下语法错误。

10.Initial twice/tcatch出问题/正则表达式出错

可能是shared_ptr<类型> x = new 。。。。;连着写了两次

11.‘cv_termcrit_iter’ was not declared

cv_termcrit_iter和‘CV_TERMCRIT_EPS’改为
cv::TermCriteria::COUNT和TermCriteria::EPS即可
记得加上对印头文件

你可能感兴趣的:(shell,ROS,ubuntu)