Ubuntu20.04下用covins跑自己的数据集

本文档详细记录了在Ubuntu20.04上安装covins及其依赖OpenCV3的过程,包括解决找不到opencv3_catkin包和缺失boostdesc_bgm.i等问题。此外,还介绍了如何根据官方launch文件修改配置,以运行自己的ORB_SLAM3数据集,并提供了运行多个数据集的指令。
摘要由CSDN通过智能技术生成

Ubuntu20.04下用covins跑自己的数据集

covins安装官方教程地址:https://github.com/VIS4ROB-lab/covins

covins安装过程中自己遇到的问题

(反复了很多次,所以问题出现的顺序记不清了)

  1. **CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
    Could not find a package configuration file provided by “opencv3_catkin”
    with any of the following names:

    opencv3_catkinConfig.cmake
    opencv3_catkin-config.cmake;

    解决:​
    (1)先全系统搜索opencvconfig,Ubuntu20.04默认的是opencv4,所以可能确实没有。如果确定无,先去安装OpenCV3。
    (2)在Releases - OpenCV下载编译(依次mkdir build,cd build,cmake …,make)。
    (3)修改~/ws/covins_ws/src/vision_opencv/cv_bridge/CMakeLists.txt :首先是添加opencv3_catkin依赖,将第4行find_package(catkin REQUIRED COMPONENTS rosconsole sensor_msgs)改成find_package(catkin REQUIRED COMPONENTS rosconsole sensor_msgs opencv3_catkin);之后,把后面关于opencv4的部分注释掉。

  2. 缺少boostdesc_bgm.i 一系列文件,下载完并copy过去后又显示缺少opencv2/xfeatures2d/cuda.hpp

    解决:
    出现该问题的原因就是他下载的Opencv_conrtib包里缺文件。
    (1)方法一:可参照​https://blog.csdn.net/qq_42614598/article/details/121321960。
    (2)方法二:直接多下载几遍,直到网络很好的时候能下载成功。具体做法可能是多运行几遍./src/covins/install_file.sh 8这一步。安装了有一段时间了记不太清了。

covins跑自己的数据集

在covins_ws/src/covins/orb_slam3/Examples/ROS/ORB_SLAM3/launch路径下写自己的launch文档,可以参照官方的launch_ros_euroc.launch(如下)。

<?xml version="1.0"?>
<launch>


<arg name="voc" default="/home/pschmuck/ws/covins_ws/src/covins/orb_slam3/Vocabulary/ORBvoc.txt" />
<arg name="cam" default="/home/pschmuck/ws/covins_ws/src/covins/orb_slam3/Examples/Monocular-Inertial/EuRoC.yaml" />


<node pkg="ORB_SLAM3" type="Mono_Inertial" name="ORB_SLAM3_monoi0" args="$(arg voc) $(arg cam)" output="screen"> 

    <remap from="/camera/image_raw" to="/cam0/image_raw"/>
    <remap from="/imu" to="/imu0"/>

</node>

</launch>

在这里我更改了两个地方:

  1. 第6行.yaml,参照他的路径,写了自己的.yaml。其实就是把相机和Imu初始化的一些参数,改成自己的数据。
  2. 第11、12行的remap。

如果是要remap一个该节点想要接收的的target_topic,而实际被另外一个节点发布的话题是source_topic,应该是<remap from=“/target_topic” to=“/source_topic” /
(摘自http://t.csdn.cn/rZJTk)

所以这个地方应该把to后面的topic改成我们的数据集发布的topic。可以用下面的指令查看自己的bag包的topic:

rosbag info xx.bag

个人记录一下covins跑两个数据集的指令(和官网一致)

roscore
rosrun covins_backend covins_backend_node
roslaunch covins_backend tf.launch
roslaunch ORB_SLAM3 launch_ros_euroc.launch
roslaunch ORB_SLAM3 launch_ros_euroc_second_agent.launch
rosbag play MH_01_easy.bag(去数据集所在的路径下)
rosbag play MH_02_easy.bag --start 35 /cam0/image_raw:=/cam0/image_raw1 /cam1/image_raw:=/cam1/image_raw1 /imu0:=/imu1
rviz -d config/covins.rviz(不在工作空间下的话要用rviz -d ~/ws/covins_ws/src/covins/covins_backend/config/covins.rviz,他配置好的rviz用起来比较方便)
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值