/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
基于ubuntu18.04的ORB_SLAM3安装
https://www.guyuehome.com/37124
Failed to load image at: /Datasets/MH01/mav0/cam0/data/1403636579763555584.png
解决方法:数据集地址出现错误,修改数据集地址即可
./Examples/Stereo/stereo_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo/EuRoC.yaml ./datasets/EuRoC/V103 ./Examples/Stereo/EuRoC_TimeStamps/V103.txt dataset-V103_stereo
./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
错误
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/*
终端命令
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
先关联
后运行
./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
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
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
从某处开始都是not declare,证明那一处多一个括号。看一下最前面的错误出在哪行,然后仔细检查一下语法错误。
可能是shared_ptr<类型> x = new 。。。。;连着写了两次
cv_termcrit_iter和‘CV_TERMCRIT_EPS’改为
cv::TermCriteria::COUNT和TermCriteria::EPS即可
记得加上对印头文件