70 lines
2.6 KiB
Markdown
70 lines
2.6 KiB
Markdown
# ORB-SLAM3环境配置
|
||
|
||
> [ORB-SLAM3配置安装及运行---Ubuntu20.04(2021年)_1900_的博客-CSDN博客](https://blog.csdn.net/holly_Z_P_F/article/details/118031317)
|
||
>
|
||
> [GitHub - electech6/ORB_SLAM3_detailed_comments: Detailed comments for ORB-SLAM3](https://github.com/electech6/ORB_SLAM3_detailed_comments/blob/master/euroc_examples.sh)
|
||
|
||
## 一、Linux环境下常见问题解决方案
|
||
|
||
### 1.1 error: ‘slots_reference’ was not declared in this scope
|
||
|
||
**解决方法:**
|
||
|
||
[https://blog.csdn.net/BigHandsome2020/article/details/123458612](https://blog.csdn.net/BigHandsome2020/article/details/123458612)
|
||
|
||
**不是pangolin的问题!!!**
|
||
|
||
**sed -i 's/++11/++14/g' CMakeLists.txt**
|
||
|
||
**问题2: realsense2**
|
||
|
||
![Untitled](ORB-SLAM3-Image/Untitled.png)
|
||
|
||
**解决方法:**
|
||
|
||
[https://blog.csdn.net/weixin_43901418/article/details/121475001](https://blog.csdn.net/weixin_43901418/article/details/121475001)
|
||
|
||
```shell
|
||
sudo apt-key adv --keyserver [keyserver.ubuntu.com](http://keyserver.ubuntu.com/) --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
|
||
sudo add-apt-repository "deb [https://librealsense.intel.com/Debian/apt-repo](https://librealsense.intel.com/Debian/apt-repo) $(lsb_release -cs) main" -u
|
||
sudo apt-get install librealsense2-dkms
|
||
sudo apt-get install librealsense2-utils
|
||
sudo apt-get install librealsense2-dev
|
||
```
|
||
|
||
**问题3:在运行build.sh 时最后一步make -j4 构建panglin失败**
|
||
|
||
```shell
|
||
cd Pangolin
|
||
mkdir build
|
||
cd build
|
||
cmake ..
|
||
cmake --build .
|
||
```
|
||
|
||
[https://github.com/raulmur/ORB_SLAM2/issues/22](https://github.com/raulmur/ORB_SLAM2/issues/22)
|
||
|
||
需要重新安装panglin,版本如果比较新,则需要切换到C++14
|
||
|
||
### 1.4 没有可视化界面只有轨迹结果
|
||
|
||
Monocular程序运行Euroc数据集或者其他官方数据集的时候,运行结果**只有轨迹结果,但没有可视化界面**。
|
||
|
||
```shell
|
||
./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml
|
||
```
|
||
|
||
这是因为原始灰度图像的输出是需要通过代码设置开启的,mono_euroc.cc修改:
|
||
|
||
```c++
|
||
// 这里的第三个参数为bool类型,用于控制是否显示摄像头的灰度图像
|
||
ORB_SLAM3::System SLAM(argv[1], argv[2], ORB_SLAM3::System::MONOCULAR, false);
|
||
// 如果需要显示摄像头的内容,设置为true即可
|
||
ORB_SLAM3::System SLAM(argv[1], argv[2], ORB_SLAM3::System::MONOCULAR, true);
|
||
```
|
||
|
||
### 1.5 c++: fatal error: Killed signal terminated program cc1plus
|
||
|
||
内存爆了,用 make -j 不要给太多任务
|
||
|