Configuración e instalación de ORB-SLAM2

Instalación de ORB-SLAM2

Existen estas dependencias:Por favor agregue la descripción de la imagen

https://github.com/raulmur/ORB_SLAM2

Consulte principalmente la siguiente publicación de blog

Primera experiencia de ORB-SLAM2 - configuración e instalación - MingruiYu - Blog Park (cnblogs.com)

Tenga en cuenta que al instalar la dependencia Pangolin, si es la última versión de Pangolin directamente desde GitHub, habrá problemas al compilar e instalar

1. La versión de sudo apt install libeigen3 puede no ser suficiente, puede descargar, compilar e instalar la biblioteca eigen usted mismo

2. Preste atención a la ubicación de la biblioteca eigen, generalmente "/usr/include/eigen3", y esta nueva versión de Pangolin parece encontrarse en "/usr/local/include", por lo que es mejor almacenar una en ambas ubicaciones comparten

3. El archivo de encabezado "varstate.h" en la nueva versión del paquete Pangolin contiene

#include <any>

Y esto requiere C++17, el sistema dual ThinkPad está instalado con Ubuntu16.04 y **Ubuntu16.04 admite la versión C++14 (gcc 5.4.0), no C++17, **esto es necesario para actualizar gcc, puede consultar el siguiente blog

https://blog.csdn.net/davidhopper/article/details/79681695#:~:text=Afortunadamente, el compilador estándar del sistema Linux GCC puede admitir perfectamente el estándar C%2B%2B 17, pero debe actualizarse a 7.0 La versión anterior; desafortunadamente, la versión GCC que viene con la versión Ubuntu 16.04 es 5.4.0, que admite el estándar C% 2B% 2B 14, pero básicamente no admite el estándar C% 2B% 2B 17. ¿Cómo hacer? Luego comience desde cero, descargue e instale el compilador estándar más reciente desde el sitio web oficial de GCC. , 1. Descargue el código fuente de la versión GCC 7.3.0 e ingrese al sitio web oficial de GCC: https% 3A% 2F% 2Fgcc.gnu.org% 2F, y descubrió que la última versión es 7.3.0 (24 de marzo de 2018). Quería ahorrarme algunos problemas y descargar directamente la versión binaria para la instalación, pero después de abrir la página correspondiente, descubrí que no existe una versión binaria del sistema Ubuntu. ¿No es esto una discriminación flagrante?

Pero el proceso sigue siendo muy tedioso. El hermano que pasaba me recordó que no está bien instalar una versión inferior de Pangolin. Yo también lo creo. ORB-SLAM2 fue de código abierto en 2017, y debería ser la versión anterior de Pangolin.

Por lo tanto, compilar e instalar Pangolin en la conferencia visual SLAM 14th 3rd_party del Dr. Gao Xiang es muy sencillo.

Después de instalar las dependencias, es muy sencillo compilar e instalar ORB-SLAM2

Una vez completada la instalación, abra la terminal e ingrese:

cd ORB_SLAM2
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml ../rgbd_dataset_freiburg1_desk

La captura de pantalla del proceso en ejecución es la siguiente: Por favor agregue la descripción de la imagen
La salida en ejecución es la siguiente:

ORB-SLAM2 Copyright (C) 2014-2016 Raul Mur-Artal, University of Zaragoza.
This program comes with ABSOLUTELY NO WARRANTY;
This is free software, and you are welcome to redistribute it
under certain conditions. See LICENSE.txt.

Input sensor was set to: Monocular

Loading ORB Vocabulary. This could take a while...
Vocabulary loaded!

Camera Parameters: 
- fx: 517.306
- fy: 516.469
- cx: 318.643
- cy: 255.314
- k1: 0.262383
- k2: -0.953104
- k3: 1.16331
- p1: -0.005358
- p2: 0.002628
- fps: 30
- color order: RGB (ignored if grayscale)

ORB Extractor Parameters: 
- Number of Features: 1000
- Scale Levels: 8
- Scale Factor: 1.2
- Initial Fast Threshold: 20
- Minimum Fast Threshold: 7

-------
Start processing sequence ...
Images in the sequence: 613

New Map created with 110 points
-------

median tracking time: 0.0502065
mean tracking time: 0.0544293

Saving keyframe trajectory to KeyFrameTrajectory.txt ...

trajectory saved!

La pista de movimiento de la cámara final se almacena en formato txt
Por favor agregue la descripción de la imagen

Pero surge este problema:

QObject::~QObject: Timers cannot be stopped from another thread

Se han planteado problemas en GitHub

https://github.com/raulmur/ORB_SLAM2/issues/135

Parece que no todos tienen una buena solución por el momento, pero no afecta el dibujo y el almacenamiento de la trayectoria, por lo que no lo consideraré detenidamente por el momento.

Supongo que te gusta

Origin blog.csdn.net/qq_34935373/article/details/123945147
Recomendado
Clasificación