Ubuntu se ejecuta a través de ORB_SLAM2 y su mapeo denso ORBSLAM2_with_pointcloud de cero a uno

Tabla de contenido

prefacio

1 Instalar ubuntu18.04.6

1.1 Preguntas

①Después de la instalación exitosa de ubuntu, la interfaz de la ventana no coincidirá y aparecerá el problema de copiar y pegar entre Ubuntu y Windows

②swapon: /swapfile: no se pudo leer el encabezado de intercambio

2 instalación del entorno básico de cmake y compilación

3 Instalar Eigen 3.2.10

4 Instalar Pangolin 0.5   

5 Instalar OpenCV 3.4.7

5.1 Preguntas

① Error: error fatal: Eigen/Core: No existe tal archivo o directorio

6 Ejecute ORB_SLAM2

6.1 Preguntas

① Error: c++: error interno del compilador: eliminado (programa cc1plus)

② error: 'usleep' no se declaró en este ámbito

7 Instale y ejecute el mapa denso del Dr. Gao Xiang ORBSLAM2_with_pointcloud_ versión del mapa

7.1 Preguntas

①报错:error: no hay función coincidente para llamar a 'g2o::SE2::setRotation (Eigen::Rotation2D::Scalar

②error: la afirmación estática falló: YOU_MIXED_DIFFERENT_NUMERIC_ TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY

③error: la afirmación estática falló: FLOATING_POINT_ARGUMENT_PASSED__ INTEGER_WAS_EXPECTED' no es miembro de 'Eigen::internal::static_asse

④No se pudo encontrar un archivo de configuración para el paquete "OpenCV" que sea compatible con la versión solicitada "2.4.3"

⑤No se pudo encontrar un archivo de configuración de paquete proporcionado por "Qt5X11Extras" con ninguno de los siguientes nombres:

⑥No se pudo encontrar un archivo de configuración de paquete proporcionado por "Qt5UiPlugin" con un

⑦ error al cargar bibliotecas compartidas: libvtkgl2ps-7.1.so.1: no se puede abrir el archivo de objeto compartido: no existe tal archivo o directorio

⑧doble libre o corrupción (fuera) Abandonado (núcleo volcado)

8 resumen

blog de referencia


prefacio

        Aunque el algoritmo ORB_SLAM2 es clásico, la implementación del entorno es muy problemática.Usé la versión Ubuntu20.04 instalada en la máquina virtual para sufrir mucho, y finalmente ejecuté ORB_SLAM2, y también resolví todos los errores de compilación de la versión de mapa denso de ORB_SLAM2. , pero finalmente cayó en Solucionado un error de segmentación al ejecutar la versión de mapeo denso ORBSLAM2_with_pointcloud. Error de segmentación, es difícil de resolver sin entender el código (las soluciones mencionadas en Internet son casi las mismas), soy demasiado bueno y quiero ver el efecto de ejecutar primero, así que no tengo más remedio que reinstalar el sistema y use Ubuntu18.04 Pruébelo e intente mantener todas las bibliotecas y paquetes consistentes con los tutoriales relevantes. Sin embargo, siento que configurar el entorno no es un éxito de una sola vez, por lo que haré un registro. La próxima vez que configure el entorno, será más rápido y también serviré como referencia para todos.

        Desafortunadamente, todavía hubo una falla de segmento al final, y la versión de Eigen se cambió a 3.2.10 antes de que tuviera éxito. De hecho, el problema en github ya sugirió que se debería instalar eigen3.2.10, pero he estado obsesionado blogs, lo que hizo que mis ojos se deslumbraran. Si otras versiones de ubuntu encuentran errores de segmento, puede intentar reemplazar la versión propia con 3.2.10

1 Instalar ubuntu18.04.6

         ubuntu mirror source (la visualización de la página web puede tener problemas durante la descarga, pero la velocidad de descarga es rápida pero no se muestra) : Índice de /ubuntu-releases/ | Tsinghua University Open Source Software Mirror Station | Tsinghua Open Source Mirror

        Básicamente, no hay problema con esta parte, solo siga los tutoriales en Internet paso a paso para asegurarse de que la red funcione sin problemas. Preste atención a los siguientes puntos durante el proceso.

        ①Para obtener soporte chino convenientemente, se recomienda elegir una instalación personalizada

        ②El espacio del disco duro debe ser más grande (se recomiendan más de 50G, yo configuré 80G), y luego debe configurar el espacio de intercambio e instalar varias bibliotecas y paquetes de software

        ③Modo NAT de selección de red

        ④En el proceso de instalación, mantenga la red desbloqueada, no haga clic en saltar para saltar, el sistema fallará (no me pregunte por qué lo sé...)

        ⑤ Cambie la fuente ( puede copiar y pegar después de resolver el problema ① , de lo contrario será muy problemático), hay muchas fuentes en Internet, le sugiero que las pruebe todas y encuentre la más rápida. La más rápida que probé es de la Universidad de Ciencia y Tecnología de China.

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup #备份

sudo gedit /etc/apt/sources.list #打开之后,复制镜像源

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic principal universo restringido multiverso
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic principal universo restringido multiverso
deb https://mirrors.ustc .edu.cn/ubuntu/ bionic-updates principal universo restringido multiverso
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates principal universo restringido multiverso
deb https://mirrors.ustc.edu.cn /ubuntu/ bionic-backports principal universo restringido multiverso
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports principal universo restringido multiverso
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic -seguridad principal universo restringido multiverso
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security principal universo restringido multiverso
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed principal universo restringido multiverso
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed principal universo restringido multiverso

sudo apt-get update #查看更新快不快,有没有报错,有的话,再换镜像源

       ⑥Aumente el espacio de intercambio, hay muchos tutoriales en línea, pero siempre hay casi menos. . .

        (1) Ingrese primero al directorio raíz y luego cierre todos los espacios de intercambio

cd / #进入根目录
sudo swapoff -a

        (2) Agregar espacio de intercambio de 8G a 16G (la versión del mapa denso compilado de 8G colapsó)

sudo dd if=/dev/zero of=/swapfile bs=1G count=16

        (3) Establecer /permisos de archivo de intercambio

sudo chmod 600 /swapfile

        (4) Formato de espacio de intercambio

sudo mkswap /swapfile

        (5) La activación del espacio de intercambio está completa

sudo swapon /swapfile

        (6) Ver el tamaño del espacio de intercambio

free -h

1.1 Preguntas

①Después de la instalación exitosa de ubuntu, la interfaz de la ventana no coincidirá y aparecerá el problema de copiar y pegar entre Ubuntu y Windows

         Solución: ingrese el siguiente comando en la terminal para descargar vm-tool para resolver

sudo apt-get update #不更新软件列表,无法下载软件

sudo apt-get install open-vm-tools -y

sudo apt-get install open-vm-tools-desktop -y

sudo reboot #重启

②swapon: /swapfile: no se pudo leer el encabezado de intercambio

        Solución: formatee /swapfile primero, luego active /swapfile

sudo mkswap /swapfile #格式化
sudo swapon /swapfile #激活

2 instalación del entorno básico de cmake y compilación

        ①Instalar gcc g++

sudo apt-get install gcc g++

        ②Instale cmake, es demasiado problemático descargar la instalación del código fuente, elijo la instalación de la línea de comandos, aunque es un poco antigua, pero es adecuada para la compilación de paquetes relacionados con el algoritmo ORB_SLAM2

sudo apt-get install cmake

3 Instalar Eigen 3.2.10

        Demostración de errores:

       ① Instale Eigen, el tutorial en línea dice que instale 3.1 ~ 3.2 desde el código fuente, pero lo probé en la versión ubuntu20, cambiar la versión no puede resolver el problema del error de segmentación, así que ahórrese problemas, instálelo directamente desde la línea de comando  

         ②Establecer enlace suave

          Al final de la ejecución, descubrí que todavía había un error de segmento y aún necesitaba instalar la versión 3.2.10 desde el código fuente.

        Ejemplo correcto:

        Dirección de descarga:  Eigen    

         ① Después de descargar y descomprimir, ingrese la carpeta del código fuente

mkdir build
cd build
cmake..
sudo make install
sudo cp -r /usr/local/include/eigen3 /usr/include

        ②Ver la versión actual

pkg-config --modversion eigen3

4 Instalar Pangolin 0.5   

       Dirección de origen: https://github.com/stevenlovegrove/Pangolin/releases/tag/v0.5

        ① Instalar dependencias

sudo apt-get install libglew-dev libpython2.7-dev

        ②El terminal ingresa a la carpeta del código fuente y luego a la antigua

mkdir build
cd build
cmake ..
make -j4
sudo make install

5 Instalar OpenCV 3.4.7

        Dirección de origen: https://github.com/opencv/opencv  Si elige una versión inferior, habrá menos errores

        ① Instalar dependencias

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev libxvidcore-dev libx264-dev libatlas-base-dev gfortran

       ②El terminal ingresa a la carpeta del código fuente e instala opencv

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j4 
sudo make install

        ③(1) Configurar el entorno y modificar el archivo de configuración

sudo gedit /etc/ld.so.conf.d/opencv.conf

         (2) Puede ser un archivo vacío, pero no se preocupe, solo complete /usr/local/lib en él

 /usr/local/lib

        (3) Ejecute ldconfig para actualizar la configuración

sudo ldconfig 

        ④ (1) configurar bash

sudo gedit /etc/bash.bashrc

          (2) Agregue la siguiente declaración al final del contenido del archivo, guarde y salga

exportar PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

          (3) actualización bash

source /etc/bash.bashrc

        ⑤ Ingrese opencv-3.4.7/samples/cpp/example_cmake, compile la prueba de rutina, obtenga hola opencv, luego la instalación es exitosa

cmake .
make
./opencv_example

5.1 Preguntas

① Error: error fatal: Eigen/Core: No existe tal archivo o directorio

        Solución: Instale eigen, si está instalado, configure un enlace suave

sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen

6 Ejecute ORB_SLAM2

        Dirección del código fuente: puede usar directamente git clon para descargar GitHub - raulmur/ORB_SLAM2: SLAM en tiempo real para cámaras monoculares, estéreo y RGB-D, con capacidades de detección de bucle y relocalización

        ①El terminal ingresa a la carpeta del código fuente y verifica si build.sh tiene permisos ejecutables. Soy grosero y doy directamente todos los permisos a 777

chmod 777 ./build.sh

        ② Ejecute build.sh, instale las dependencias relacionadas con ORB_SLAM2 y genere archivos ejecutables mono_tum, etc.

./build.sh

        ③ Ejecute el conjunto de datos f1_xyz de TUM, fácil de obtener 

Conjunto de datos TUM: Computer Vision Group - Descarga de conjunto de datos

Conjunto de datos KITTI: KITTI Vision Benchmark Suite

Conjunto de datos EuRoC: kmavvisualinertialdatasets – Conjuntos de datos ASL

./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml data/rgbd_dataset_freiburg1_xyz/

6.1 Preguntas

① Error: c++: error interno del compilador: eliminado (programa cc1plus)

        Solución: La memoria de ejecución insuficiente necesita aumentar el espacio de intercambio Para conocer los pasos específicos, consulte ⑥ en el artículo 1 : Aumentar el espacio de intercambio.

② error: 'usleep' no se declaró en este ámbito

        Solución: Agregue #include <unistd.h> al archivo de encabezado del programa de error , agregue uno por uno, esta es la única forma (pero no sé por qué, solo lo agregué en system.h, y todo los informes de error han subido)

#include <unistd.h>

7 Instale y ejecute el mapa denso del Dr. Gao Xiang ORBSLAM2_with_pointcloud_ versión del mapa

        Dirección de origen: GitHub - gaoxiang12/ORBSLAM2_with_pointcloud_map  , se recomienda git

        Este paso es el paso mas dificil, llevo mucho tiempo dando vueltas en Ubuntu 20. La principal razon es que hay un error de segmento, lo cual es muy incomodo. El algoritmo mejorado tiene un mapeo más denso, por lo que debe usar la biblioteca de nubes de puntos PCL y su herramienta de visualización VTK correspondiente. Hay diferentes opiniones sobre la elección de esta versión, algunos dicen que usar la última y otros dicen que usar el antiguo 1.7, 1.8. Al final, elegí PCL1.8.1. Probé la instalación por línea de comandos por primera vez, pero parecía que la versión era demasiado baja, lo que provocó que la compilación fallara, así que lo verifiqué en Internet. PCL1.8.1 corresponde a la versión 7.1.1 de VTK, y solo se puede usar el código de energía para instalar VTK.

        ①Instalar VTK7.1.1

        Dirección de descarga: https://www.vtk.org/files/release/7.1/VTK-7.1.1.zip

        (1) Instalar dependencias relacionadas

sudo apt-get install git build-essential linux-libc-dev cmake cmake-gui libusb-1.0-0-dev libusb-dev libudev-dev mpi-default-dev openmpi-bin openmpi-common libflann1.9 libflann-dev libeigen3-dev libboost-all-dev libvtk6.3-qt libvtk6.3 libvtk6-dev libqhull* libgtest-dev freeglut3-dev pkg-config libxmu-dev libxi-dev mono-complete openjdk-8-jdk openjdk-8-jre libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-dev

        (2) Instale qt5 y sus herramientas relacionadas (ya sabe, todavía me gusta la instalación de la línea de comandos, y nunca volveré atrás si no hay ningún problema)

sudo apt-get install qt5-default qtcreator qttools5-dev libqt5x11extras5-dev

        (3) Ingrese a la carpeta del código fuente de VTK y compile VTK

mkdir build && cd build
cmake ..
cmake-gui      ###操作见下面文字及图片###
make -j4
sudo make install

        Seleccione la ruta de la carpeta de compilación, luego marque "VTK_GROUP_QT", haga clic en Configurar en la esquina inferior izquierda y se informará un error. Ingrese "VTK_QT_VERSION" = 5 en la posición de error y luego haga clic en Configurar, Generar y aparecerá Configurando terminado,
Generando terminado

         (4) Configurar variables de entorno (las variables de entorno deben agregarse para las desventajas de la instalación del código fuente)

#sudo gedit /home/用户名/.bashrc
#简便方法,用~代替
sudo gedit ~/.bashrc
#添加下面的内容
#export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
#更新.bashrc
source ~/.bashrc

#添加环境变量
sudo sh -c "echo '/usr/lib/x86_64-linux-gnu' >> /etc/ld.so.conf"
#更新
sudo sh -c "ldconfig"

        ②Instalar PCL

Dirección de origen: https://github.com/PointCloudLibrary/pcl , seleccione la etiqueta 1.8.1 para descargar

        (1) Instale las dependencias relacionadas. Integré las dependencias de PCL y VTK. El paso de instalar VTK desde el código fuente es innecesario.

sudo apt-get install git build-essential linux-libc-dev cmake cmake-gui libusb-1.0-0-dev libusb-dev libudev-dev mpi-default-dev openmpi-bin openmpi-common libflann1.9 libflann-dev libeigen3-dev libboost-all-dev libvtk6.3-qt libvtk6.3 libvtk6-dev libqhull* libgtest-dev freeglut3-dev pkg-config libxmu-dev libxi-dev mono-complete openjdk-8-jdk openjdk-8-jre libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-dev

        (2) El terminal ingresa a la carpeta del código fuente PCL, compila e instala

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_GPU=ON-DBUILD_apps=ON -DBUILD_examples=ON \ -DCMAKE_INSTALL_PREFIX=/usr .. 
make -j4  
sudo make install

        (3) Instale las dependencias de la biblioteca de visualización de Openni

sudo apt-get install libopenni-dev 
sudo apt-get install libopenni2-dev

        (4) Encuentre un lugar para crear una nueva carpeta, cree main.cc y CMakeLists.txt en la carpeta y realice la prueba de compilación cmake

        principal.cc

#include <iostream>
#include <pcl/common/common_headers.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/console/parse.h>
 
 
int main(int argc, char **argv) {
    std::cout << "Test PCL !!!" << std::endl;
    
    pcl::PointCloud<pcl::PointXYZRGB>::Ptr point_cloud_ptr (new pcl::PointCloud<pcl::PointXYZRGB>);
    uint8_t r(255), g(15), b(15);
    for (float z(-1.0); z <= 1.0; z += 0.05)
    {
      for (float angle(0.0); angle <= 360.0; angle += 5.0)
      {
	pcl::PointXYZRGB point;
	point.x = 0.5 * cosf (pcl::deg2rad(angle));
	point.y = sinf (pcl::deg2rad(angle));
	point.z = z;
	uint32_t rgb = (static_cast<uint32_t>(r) << 16 |
		static_cast<uint32_t>(g) << 8 | static_cast<uint32_t>(b));
	point.rgb = *reinterpret_cast<float*>(&rgb);
	point_cloud_ptr->points.push_back (point);
      }
      if (z < 0.0)
      {
	r -= 12;
	g += 12;
      }
      else
      {
	g -= 12;
	b += 12;
      }
    }
    point_cloud_ptr->width = (int) point_cloud_ptr->points.size ();
    point_cloud_ptr->height = 1;
    
    pcl::visualization::CloudViewer viewer ("test");
    viewer.showCloud(point_cloud_ptr);
    while (!viewer.wasStopped()){ };
    return 0;
}

        CMakeLists.txt

cmake_minimum_required(VERSION 2.6)
project(pcl_test)
 
find_package(PCL 1.2 REQUIRED)
 
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
 
add_executable(pcl_test 
                main.cc)
 
target_link_libraries (pcl_test ${PCL_LIBRARIES})
 
install(TARGETS pcl_test RUNTIME DESTINATION bin)

        Ingrese ./pcl_test en la carpeta, si aparece la siguiente ventana, la instalación de pcl es exitosa

./pcl_test 

         ② Compilar g2o_with_orbslam2

        Para no aumentar la longitud del artículo, lea las preguntas ①②③ y modifique 9 a su vez (también puede compilarlo directamente y modificarlo después de que se muestre el error) (expresión de cabeza de perro)

        entonces lo mismo de siempre

mkdir build
cmake ..
make -j4
sudo make install

        ③Compilar ORB_SLAM2_modificado

        (1) Ingrese a la carpeta ORB_SLAM2_modified y otorgue el permiso ejecutable build.sh

chmod 777 build.sh

        (2) Modificar CmakeLists.txt

#将      12行,13行中的-march=native删掉,33行换掉opencv版本
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}  -Wall  -O3   -march=native")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall   -O3   -march=native")

find_package(OpenCV 2.3.7 REQUIRED)

#改为
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}  -Wall  -O3   -march=native")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall   -O3   -march=native")

find_package(OpenCV 3.4.7 REQUIRED)

        (3) Ejecute build.sh

./build.sh

        ④Ejecute ORBSLAM2_with_pointcloud_map

        (1) Para generar el archivo ejecutable correspondiente en Exmaple, debido a que la generación de la nube de puntos requiere profundidad, es necesario generar un archivo txt que combine rgb y profundidad, dirección de descarga asociado.py

#  PATH_TO_SEQUENCE为下载的TUM数据集路径,rgb.txt为数据集自带
python associate.py PATH_TO_SEQUENCE/rgb.txt PATH_TO_SEQUENCE/depth.txt > associations.txt

        (2) Copie el diccionario, el Vocabulario del Dr. Gao Xiang no tiene ORBvoc.txt, necesita copiar el ORB_SLAM2

         (3) Ejecutar el programa

# PATH_TO_SEQUENCE_FOLDER 为数据集路径,我的为data/rgbd_dataset_freiburg1_xyz/
# ASSOCIATIONS_FILE为associate.py生成的txt文件路径
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUMX.yaml PATH_TO_SEQUENCE_FOLDER ASSOCIATIONS_FILE

        (4) Acabar con las flores

       ⑤ Guardar la nube de puntos

        (1) Modifique el archivo ORB_SLAM2_modified/pointcloudmapping.cc:
                  agregue el archivo de encabezado #include <pcl/io/pcd_io.h>
                  en el archivo de 126 líneas void PointCloudMapping::viewer(), agregue dos líneas de código después del final de while (1)

pcl::io::savePCDFile("result.pcd", *globalMap);
cout << "Final result saved." << endl;

        (2) Vuelva a compilar ORB_SLAM2_modified y luego ejecútelo para generar result.pcd

          (3) Comandos de entrada de terminal para ver archivos de nubes de puntos

pcl_viewer result.pcd 

7.1 Preguntas

①报错:error: no hay función coincidente para llamar a 'g2o::SE2::setRotation (Eigen::Rotation2D<double>::Scalar

Solución: modifique g2o_with_orbslam2/g2o/types/slam2d/edge_se2_pointxy_bearing.cpp, línea 51

将
t.setRotation(t.rotation().angle()+_measurement);
改为
t.setRotation((Eigen::Rotation2Dd)(t.rotation().angle()+_measurement));

②error: la afirmación estática falló: YOU_MIXED_DIFFERENT_NUMERIC_ TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY

        Solución: Modifique g2o_with_orbslam2/g2o/solvers/linear_solver_eigen.h, línea 54

将
typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, SparseMatrix::Index> PermutationMatrix;
改为
typedef Eigen::PermutationMatrix<Eigen::Dynamic, Eigen::Dynamic, int> PermutationMatrix;

③error: la afirmación estática falló: FLOATING_POINT_ARGUMENT_PASSED__ INTEGER_WAS_EXPECTED' no es miembro de 'Eigen::internal::static_asse

        Solución: modifique g2o_with_orbslam2/g2o/solvers/linear_solver_eigen.h, línea 80

将
VectorXd probLimits(MO_NUM_ELEMS);
      for (int i = 0; i < probLimits.size(); ++i)
        probLimits[i] = (i + 1) / (double) MO_NUM_ELEMS;
改为
VectorXd probLimits;
      probLimits.resize(MO_NUM_ELEMS);
      for (int i = 0; i < probLimits.size(); ++i)
        probLimits[i] = (i + 1) / (double) MO_NUM_ELEMS;

④No se pudo encontrar un archivo de configuración para el paquete "OpenCV" que sea compatible con la versión solicitada "2.4.3"

        Solución: Modifique find_package (OpenCV 2.4.3 REQUERIDO) en CmakeLists.txt a su propia versión

⑤No se pudo encontrar un archivo de configuración de paquete proporcionado por "Qt5X11Extras" con ninguno de los siguientes nombres:

        Solución: sudo apt install libqt5x11extras5-dev

⑥No se pudo encontrar un archivo de configuración de paquete proporcionado por "Qt5UiPlugin" con un

        Solución: sudo apt-get install qttools5-dev

⑦ error al cargar bibliotecas compartidas: libvtkgl2ps-7.1.so.1: no se puede abrir el archivo de objeto compartido: no existe tal archivo o directorio

        Solución: hay muchos problemas con la instalación del código fuente, debe agregarlo usted mismo a la variable de entorno

⑧doble libre o corrupción (fuera) Abandonado (núcleo volcado)

        Solución: cambie la versión propia a 3.2.1       

8 resumen

        Después de dar vueltas y vueltas, finalmente comencé a correr. El enemigo de las fallas de segmento de por vida, todavía tengo que aprender a usar la herramienta de compilación para verificar la ubicación de las fallas de segmento. En este último caso, después de estudiar ROS en profundidad, intente usar ROS para ejecutar ORB_SLAM2.

blog de referencia

Orb_slam tutorial de instalación y configuración del entorno de niñera desde cero - Quantum y Tai Chi - Blog Park

Ubuntu18.04 cambia las fuentes espejo domésticas (Aliyun, Netease, Universidad Tsinghua, Universidad de Ciencia y Tecnología de China)

Compile e instale OpenCV en Ubuntu en un artículo (con un enlace al disco de red) - Se busca programador

Instalación y prueba de pcl1.8 bajo ubuntu

https://www.jianshu.com/p/548234bb88fc

Desinstalar y reinstalar Eigen3

Supongo que te gusta

Origin blog.csdn.net/weixin_46596757/article/details/127528792
Recomendado
Clasificación