ORB-SLAM3安装遇到的问题

本文详细记录了作者在安装OpenCV 3.2.0和Eigen 3.3.4版本下,如何在master分支上进行普通测试和ROS环境下的ORBSLAM3部署,包括遇到的编译错误及解决方案,如Python模块缺失和ROS目录调整等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天安装master分支。

一、普通测试

1.安装前修改根目录和Thirdparty里面的几个cmakelists.txt,将find_pakge中的OpenCV改成3、Eigen去掉具体版本号

2.通过build.sh一次成功,然后可运行普通数据包测试成功。

二、ros测试

1.直接build_ros.sh编译没报错,但rosrun时找不到ORB-SLAM3:因为最新版的ORBSLAM3中Examples没有ROS目录,需要将Examples改成Examples_old(改.sh和export中的路径)

2.重新编译报错: File "/usr/lib/python2.7/dist-packages/rosdep2/platforms/debian.py", line 34, in <module> from rospkg.os_detect import (ImportError: cannot import name OS_RASPBIAN    Error: could not find python module 'rosdep2.rospack'

解决方法:raspbian好像和树莓派有关,用Ubuntu系统应该用不到,去提示的...../debian.py中将和OS_RASPBIAN有关的禁用###。

3.编译报AR有关的错,用不到,去cmakelists.txt中对AR有关的禁用不编译。

然后编译成功,通过rosrun和rosbag正常测试了数据集

三、使用的版本和查询方式
python -V
Python 2.7.17


vim /usr/include/eigen3/Eigen/src/Core/util/Macros.h
#define EIGEN_WORLD_VERSION 3
#define EIGEN_MAJOR_VERSION 3
#define EIGEN_MINOR_VERSION 4

或者

pkg-config --modversion eigen3
3.3.4

pkg-config --modversion opencv
3.2.0


dpkg -S /usr/include/boost/version.hpp
libboost1.65-dev:amd64: /usr/include/boost/version.hpp
 

### 关于 ORB-SLAM3 中 Numpy 相关依赖配置 在安装 ORB-SLAM3 的过程中,Numpy 是 Python 接口的重要组成部分之一。为了确保顺利编译并运行带有 Python 支持的 ORB-SLAM3 版本,需要正确设置 Numpy 及其开发库。 #### 安装必要的Python和Numpy包 对于基于 Debian 或 Ubuntu 系统而言,可以通过 APT 来获取所需的 Python 和 Numpy 开发头文件: ```bash sudo apt-get update && sudo apt-get install python-numpy python-scipy cython python-opencv ``` 如果使用的是 Python 3,则应改为安装对应的版本: ```bash sudo apt-get install python3-numpy python3-scipy cython3 python3-opencv ``` 这一步骤确保了系统上存在最新版的 NumPy 库及其 C API 头文件[^1]。 #### 配置CMake以支持NumPy 当准备构建 ORB-SLAM3 并希望启用 Python 绑定时,在 Pangolin 构建之前需确认已成功找到 NumPy。通常情况下,默认安装会自动检测到它;但如果遇到任何问题,可以在调用 `catkin_make` 前通过环境变量指定路径: ```bash export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages/ cd ~/ORB_SLAM3 mkdir build cd build cmake .. make -j$(nproc) ``` 上述命令假设 NumPy 已经被安装至标准位置 `/usr/lib/python2.7/dist-packages/`. 对于不同的操作系统或自定义安装目录,请调整此路径匹配实际情况[^2]. #### 解决常见的Numpy相关错误 有时可能会碰到如下报错:“ImportError: No module named numpy”。这类问题是由于缺少 Python 的 Numpy 模块引起的。此时应当先验证是否已经按照前述方法完成了相应软件包的安装,并尝试重新启动终端窗口使更改生效。另外一种可能是 ROS 工作空间中的虚拟环境中未包含这些模块,这时就需要激活该特定环境后再重复以上步骤来解决问题[^3].
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值