新手ROS下 YOLO_ORB_SLAM3运行经验

非ROS下运行YOLO_ORB_SLAM3请看上篇博客,且上篇博客中有环境配置,下面是链接:

https://mp.csdn.net/mp_blog/creation/editor/142141668

运行前一定要看一下上面那篇博客,这是续写~~~~~~~(直接按照这篇会缺少条件运行不出来)

1.终端执行以下命令:

gedit ~/.bashrc

会出现一个文件,将下面这行代码粘贴到最下面

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/YOLO_ORB_SLAM3/Examples/ROS

这步是设置 ROS_PACKAGE_PATH 环境变量,虽然我执行了但是还出错了,错误解决方法在下面

PATH要更换一下,PATH指的是你YOLO_ORB_SLAM3的路径。

例如:/home/xxxxxx/YOLO_ORB_SLAM3/Examples/ROS

执行代码source一下

2. Build

在YOLO_ORB_SLAM3文件下进入终端,执行以下命令。

chmod +x build_ros.sh
./build_ros.sh

我在./build_ros.sh这步报错

错误:

       我查看错误指出 rospack 找到了名为 "YOLO_ORB_SLAM3" 的包,但是它的位置与当前目录不一致。这通常意味着 ROS 包的路径设置有误,导致 CMake 无法正确找到或构建包。

解决办法:

当时我担心是因为我系统中同时安装了ROS和Anaconda,导致我的python版本冲突,我按照网上教程先在终端下运行:

conda install -c conda-forge empy

然后接着检查 ROS_PACKAGE_PATH,运行下面代码:

echo $ROS_PACKAGE_PATH
当时我的路径是:/opt/ros/noetic/share
ROS_PACKAGE_PATH 目前只包含了 /opt/ros/noetic/share,这是 ROS Noetic 安装的默认路径。我的包路径/home/xuxuening/YOLO_ORB_SLAM3/Examples/ROS/YOLO_ORB_SLAM3 并不在其中,这就是为什么 CMake 找不到你的包的原因。

运行下面两行代码,将包路径添加到ROS_PACKAGE_PATH。

echo 'export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:PATH/YOLO_ORB_SLAM3/Examples/ROS/YOLO_ORB_SLAM3' >> ~/.bashrc
source ~/.bashrc

然后接着在运行下面这行代码,查看路径:

echo $ROS_PACKAGE_PATH

这时候我的包路径已经添加进去了,如图所示。

再次编译,编译通过。

如果报错原因是无法找到依赖包,这种需要手动指定路径。

       以上是我在运行的时候出现的一些错误,以及我的解决办法,如果其他小伙伴出现其他的办法,可以多参考参考其他博主的解决办法。

3.下载ROS Bag

下载链接:

https://cvg.cit.tum.de/data/datasets/rgbd-dataset/download

我下载的是rgbd_dataset_freiburg3_walking_xyz。将下载好的ROS Bag放在YOLO_ORB_SLAM3文件下面。

 

4.运行

这部分参考了这篇文章:YOLO_ORB_SLAM3编译运行-CSDN博客

先修改代码,这部分我还是参考的这篇文章:YOLO_ORB_SLAM3编译运行-CSDN博客

修改YOLO_ORB_SLAM3/Examples/ROS/YOLO_ORB_SLAM3/src下的ros_rgbd.cc里面的代码,修改66行67行为,保存并关闭。

 message_filters::Subscriber<sensor_msgs::Image> rgb_sub(nh, "/camera/rgb/image_color", 100);
 message_filters::Subscriber<sensor_msgs::Image> depth_sub(nh, "camera/depth/image", 100);

如图所示:

在YOLO_ORB_SLAM3文件下打开终端,重新编译:

./build_ros.sh

编译通过后,在YOLO_ORB_SLAM3下重新打开三个终端,分别执行以下命令。
 

roscore
rosrun YOLO_ORB_SLAM3 RGBD Vocabulary/ORBvoc.txt Examples/RGB-D/TUM3.yaml 
rosbag play rgbd_dataset_freiburg3_walking_xyz.bag 

成功运行出来~~~~~~~

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值