当前位置:   article > 正文

安装ROS版的ORB-SLAM3全过程并跑T265 的bag包_22.04ros2使用orbslam3使用bag

22.04ros2使用orbslam3使用bag

请确保opencv、eigen、sophus等包已经安装好了。

ORBSLAM3

下载ORBSLAM3

git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git
  • 1

请添加图片描述

  1. 由于我们需要的是ROS版的安装,但是Example里面没有ROS 的包,所以需要从Example_old里面复制一份过去。请添加图片描述

1、先安装非ROS版。

本人感觉先安装非ROS再安装ROS会将很多第三方库安装好,减少不必要的BUG

./build.sh
  • 1

问题一:build.sh 使用的CMakelist 中的Opencv的版本问题。

请添加图片描述
解决方法:
修改里面opencv版本号

vim CMakeLists.txt
  • 1

由于我的opencv版本是4.2 所以修改成4.2
请添加图片描述

重新build :

./build.sh
  • 1

问题二:

/usr/local/include/sigslot/signal.hpp:1180:65: error: ‘slots_reference’ was not declared in this scope
1180 | cow_copy_type<list_type, Lockable> ref = slots_reference();
| ~~~~~~~~~~~~~~~^~
请添加图片描述
这个是由于默认使用的是C++11,而最新的g2o使用的是c++14的问题。
解决方法:
修改CMakeLists中的c++版本号

vim CMakeLists.txt
  • 1

请添加图片描述
将选中的地方修改成14就可以了,注意不要修改其他的,会造成代码里面的标签错误。

然后重新build。

./build.sh
  • 1

非ROS版安装成功:
请添加图片描述

2、安装ROS版

首先build_ros.sh。

./build_ros.sh
  • 1

问题一:没有权限

有的同学会没没办法build,需要修改一下权限。

chmod +x build_ros.sh
./build_ros.sh
  • 1
  • 2

问题二:出现了rospack找不到ORBSLAM3问题,我们需要建立一个软连接并且加上ROS路径

请添加图片描述
出现了rospack找不到ORBSLAM3问题,我们需要建立一个软连接并且加上ROS路径

解决方法:

sudo vim ~/.bashrc

#文件路径要和自己的一致/home/....../Examples/ROS
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/jiangz/CODE/ORB_SLAM3/Examples/ROS
  • 1
  • 2
  • 3
  • 4

请添加图片描述

source ~/.bashrc
  • 1

还要在ros share中建立软链接

sudo ln -s ~/CODE/ORB_SLAM3/Examples/ROS/ORB_SLAM3 /opt/ros/noetic/share/ORB_SLAM3
  • 1

然后再 build一下

./build_ros.sh
  • 1

问题三:c++版本

请添加图片描述
出现了和非ROS时一模一样的问题,所以同样的也是修改CMakeList,但是需要注意的是在build_ros.sh中的CMakList在上面的Example路径中

vim Examples/ROS/ORB_SLAM3/CMakeLists.txt 
  • 1

请添加图片描述
修改的方式是一样的。

build一下

./bulid_ros.sh
  • 1

问题四:opencv版本冲突

请添加图片描述
这里说的是一共使用了两个不同版本的opencv,在调用包时候会产生冲突。所以我们需要修改CMakeList中的opencv版本。

解决方法

vim Examples/ROS/ORB_SLAM3/CMakeLists.txt 
  • 1

修改成同样的opencv版本
请添加图片描述

build 一下

问题五:sophus和Eigen包冲突

不出意外又出问题了。

请添加图片描述
解决方法:
这个也是由于包冲突引起的。
方法可以见这个帖子:
https://blog.csdn.net/zhh2005757/article/details/122353772?spm=1001.2014.3001.5506

build一下。
终于成功了 泪目,搞了我两天。
请添加图片描述

3、ORB-SLAM跑T265录制的bag包

首先查看topic

rosbag info test.bag
  • 1

请添加图片描述
将topic修改到需要运行的ROS包中。
比如说我这个是双目的,修改ros_stereo.cc 订阅的 topic请添加图片描述

修改完成之后重新build一下。

rosrun ORB_SLAM3 Stereo Vocabulary/ORBvoc.txt Examples/Stereo/RealSense_T265.yaml false
rosbag play test.bag 
  • 1
  • 2

成功!

最后再附上一个大佬的文章:https://zhaoxuhui.top/blog/2020/09/30/orb-slam3-cmake-ros-compilation-and-test.html#1ros%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/646994
推荐阅读
相关标签
  

闽ICP备14008679号