在Ubuntu 18.04编译ORB-SLAM2时,出现关于eigien的deprecated错误

在Ubuntu 18.04编译ORB-SLAM2时,出现关于eigien的deprecated错误,如下:

In file included from /home/hri/rosbuild_ws/package_dir/ORB_SLAM2_Fusion/Thirdparty/g2o/g2o/types/types_six_dof_expmap.h:37:0,
                 from /home/hri/rosbuild_ws/package_dir/ORB_SLAM2_Fusion/include/Converter.h:29,
                 from /home/hri/rosbuild_ws/package_dir/ORB_SLAM2_Fusion/src/Converter.cc:22:
/home/hri/rosbuild_ws/package_dir/ORB_SLAM2_Fusion/Thirdparty/g2o/g2o/types/../core/base_vertex.h:62:74: warning: ‘Eigen::AlignedBit’ is deprecated [-Wdeprecated-declarations]
     typedef Eigen::Map<Matrix<double, D, D>, Matrix<double,D,D>::Flags & AlignedBit ? Aligned : Unaligned >  HessianBlockType;
                                                                          ^~~~~~~~~~
In file included from /usr/local/include/eigen3/Eigen/Core:363:0,
                 from /usr/local/include/eigen3/Eigen/Dense:1,
                 from /home/hri/rosbuild_ws/package_dir/ORB_SLAM2_Fusion/include/Converter.h:26,
                 from /home/hri/rosbuild_ws/package_dir/ORB_SLAM2_Fusion/src/Converter.cc:22:
/usr/local/include/eigen3/Eigen/src/Core/util/Constants.h:162:37: note: declared here
 EIGEN_DEPRECATED const unsigned int AlignedBit = 0x80;
                                     ^~~~~~~~~~
In file included from /home/hri/rosbuild_ws/package_dir/ORB_SLAM2_Fusion/Thirdparty/g2o/g2o/types/types_six_dof_expmap.h:38:0,
                 from /home/hri/rosbuild_ws/package_dir/ORB_SLAM2_Fusion/include/Converter.h:29,
                 from /home/hri/rosbuild_ws/package_dir/ORB_SLAM2_Fusion/src/Converter.cc:22:
/home/hri/rosbuild_ws/package_dir/ORB_SLAM2_Fusion/Thirdparty/g2o/g2o/types/../core/base_binary_edge.h:59:82: warning: ‘Eigen::AlignedBit’ is deprecated [-Wdeprecated-declarations]
       typedef Eigen::Map<Matrix<double, Di, Dj>, Matrix<double, Di, Dj>::Flags & AlignedBit ? Aligned : Unaligned > HessianBlockType;
....

解决办法:

出现这个问题是因为安装的eigen版本太高,需要降低到3.2.1版本。
我原本装的是eigen-3.3.7,降低到3.3.2仍旧出现这个问题,因此建议降低到3.2.1版本(链接待审核通过后再附上)。
操作方法如下:

1. 卸载原本的eigen:

# sudo rm -rf /usr/local/include/eigen3

2. 下载eigen-3.2.1版本,并解压缩进入文件夹,执行如下命令:

# mkdir build && cd build
# sudo make install

3. 重新编译Pangolin, DBoW2, g2o, ORB_SLAM2

### 回答1: 好的,我可以为您提供有关在Ubuntu 18.04上运行ORB-SLAM2的一些指导。 ORB-SLAM2是一种用于视觉SLAM(同定位与建图)的开源库。以下是在Ubuntu 18.04上运行ORB-SLAM2的一些步骤: 1. 安装必要的软件包:在终端中执行以下命令来安装ORB-SLAM2所需的软件包: ``` sudo apt-get update sudo apt-get install libglew-dev libboost-all-dev cmake libopencv-dev libeigen3-dev libgtk2.0-dev ``` 2. 下载ORB-SLAM2源代码:可以从ORB-SLAM2的GitHub存储库(https://github.com/raulmur/ORB_SLAM2)中获取源代码。 ``` git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2 ``` 3. 编译ORB-SLAM2:进入ORB-SLAM2的目录并执行以下命令来编译ORB-SLAM2: ``` cd ORB_SLAM2 chmod +x build.sh ./build.sh ``` 4. 下载ORB-SLAM2所需的数据集:ORB-SLAM2需要一些数据集才能运行。可以使用以下命令从ORB-SLAM2的GitHub存储库中下载数据集: ``` cd ORB_SLAM2 ./get_datasets.sh ``` 5. 运行ORB-SLAM2:执行以下命令来运行ORB-SLAM2: ``` ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml PATH_TO_SEQUENCE_FOLDER ``` 其中,PATH_TO_SEQUENCE_FOLDER是包含图像序列的文件夹的路径。ORB-SLAM2将在终端中输出它的输出。 希望这些步骤能够帮助您在Ubuntu 18.04上运行ORB-SLAM2。如果您遇到任何问题,可以随问我。 ### 回答2: ORB-SLAM2是一款功能非常强大的视觉SLAM系统,适用于机器人、AR/VR、自动驾驶等领域。在Ubuntu18.04上运行ORB-SLAM2需要进行以下步骤: 1. 安装必要的软件包:ORB-SLAM2需要使用OpenCV、Eigen、Pangolin等库,可以使用以下命令安装: sudo apt-get install libopencv-dev libeigen3-dev libglew-dev libpython2.7-dev libblas-dev liblapack-dev libatlas-base-dev libboost-all-dev libprotobuf-dev protobuf-c-compiler protobuf-compiler libgoogle-glog-dev libgflags-dev 2. 克隆并编译ORB-SLAM2:在终端中输入以下命令,将ORB-SLAM2代码克隆到本地: git clone https://github.com/raulmur/ORB_SLAM2.git 编译ORB-SLAM2需要使用CMake工具,具体步骤如下: a. 进入ORB-SLAM2目录 cd ORB_SLAM2 b. 创建build文件夹 mkdir build c. 进入build文件夹 cd build d. 运行CMake cmake .. e. 编译ORB-SLAM2 make -j4 3. 准备数据集:在运行ORB-SLAM2之前需要准备一个数据集,可以从KITTI、EuRoC、TUM等网站下载。 4. 运行ORB-SLAM2:在终端中输入以下命令运行ORB-SLAM2: ./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml [数据集路径] 其中,[数据集路径]替换成实际数据集的路径。运行过程中,ORB-SLAM2会显示当前帧的跟踪情况和地图的构建情况。 总之,Ubuntu18.04运行ORB-SLAM2需要安装必要的软件包、克隆并编译ORB-SLAM2、准备数据集,并在终端中运行ORB-SLAM2。这个过程需要一定的计算机视觉和Linux操作系统的基础知识,对于初学者可能会比较困难,需要耐心学习和实践。 ### 回答3: 在Ubuntu18.04上运行ORB-SLAM2需要几个步骤: 1.下载ORB-SLAM2并安装必要的库文件 可以在ORB-SLAM2的官方网站上下载最新版本的ORB-SLAM2或者从GitHub网站获取源代码。安装ORB-SLAM2需要用到一些依赖库,如Eigen3、DBoW2、g2o、OpenCV等,可以使用以下命令行安装: sudo apt-get install libeigen3-dev libblas-dev liblapack-dev libboost-all-dev libopencv-dev sudo apt-get install libglew-dev libgoogle-glog-dev libgflags-dev libprotobuf-dev protobuf-compiler libatlas-base-dev libsuitesparse-dev libceres-dev 2.编译ORB-SLAM2 解压缩ORB-SLAM2的压缩包,进入ORB-SLAM2的主目录,运行以下命令进行编译: cd ORB_SLAM2 chmod +x build.sh ./build.sh 3.下载测试数据集并运行ORB-SLAM2 可以从ORB-SLAM2的官方网站上下载某些测试数据集,例如TUM RGB-D数据集,测试ORB-SLAM2的性能。先下载TUM RGB-D数据集并解压,然后到ORB_SLAM2目录中运行以下命令: ./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml ~/Data/rgbd_dataset_freiburg1_rpy 其中,Vocabulary/ORBvoc.txt是ORB-SLAM2的字典文件,Examples/RGB-D/TUM1.yaml是配置文件,~/Data/rgbd_dataset_freiburg1_xyz是RGB-D数据集的路径。 4.运行结果分析 ORB-SLAM2的运行结果可以在终端中查看或者在图形界面中可视化。在终端中运行ORB-SLAM2后,它会输出一些关键的信息,例如ORB特征点的数量、相机的位姿、地图点的数量等。通过这些信息可以对ORB-SLAM2的性能进行评估。在图形界面中可以看到ORB-SLAM2的地图、相机的轨迹、当前帧的ORB特征点等,这些信息可以帮助我们更好地了解ORB-SLAM2的运行情况。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值