三、ORB-SLAM3的ROS编译(Realsense D435i实时跑ORB-SLAM3)
四、ORB-SLAM3的ROS运行
3. ROS运行单目demo
创建ROS工作空间,初始化
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make
source devel/setup.bash
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
下载ORB-SLAM3的源码,编译
通过下载压缩包解压或者git clone的方式,把ORB-SLAM3的源码放到~/catkin_ws/src
里,把文件夹重命名为ORB-SLAM3
之后就是像上面一样编译ORB-SLAM3的源码
cd ~/catkin_ws/src/ORB_SLAM3/
chmod +x build.sh
./build.sh
之后准备把ORB-SLAM编译成一个ROS功能包,先把 ROS 所在目录加入 ROS_PACKAGE_PATH 环境变量中,具体操作是把下面的命令添加到 ~/.bashrc 文件末尾,把 替换成自己的路径
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:<PATH>/ORB_SLAM3/Examples/ROS
之后source,然后执行编译,
chmod +x build_ros.sh
./build_ros.sh
这一步执行./build_ros.sh时我遇到了ImportError: No module named rospkg这个错误,后来在ROS ANSWERS上找到了合适的回答
The reason this error occurs is because Python packages in /opt are added to PYTHONPATH environment variable BUT for ones in /usr, path does not exist in PYTHONPATH variable. The python-rospkg gets installed in /usr by default. So you just need following line in .bashrc to fix this:
发生此错误的原因是 /opt 中的 Python 包已添加到 PYTHONPATH 环境变量中,但对于 /usr 中的 Python 包,PYTHONPATH 变量中不存在路径。 默认情况下,python-rospkg 安装在 /usr 中。 所以你只需要 .bashrc 中的以下行来解决这个问题:
所以只需要在~/ .bashrc 中添加以下行来解决这个问题:
export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages
然后再source,chmod,再运行build_ros.sh脚本,编译ROS节点成功
ubuntu18.04配置ORB-SLAM3(包含ROS)完整版教程_orbslam3 ros_hhz_999的博客-CSDN博客
用D455相机运行ORBSLAM3
Ubuntu18.04编译ORB-SLAM3及遇到的一些问题_orbslam3编译卡死_图南i的博客-CSDN博客
ORBSLAM3 单目摄像头运行_orb slam3调用单目摄像头_熊铁树的博客-CSDN博客
入坑SLAM(二): ORB-SLAM3(调试RealSense415)_(~o▔▽▔)~o o~(▔▽▔o~)的博客-CSDN博客