Vins-Mono+Fusion 学习笔记(一)

一、如何运行

         1、安装依赖

                注:YOUR_DISTRO换为自己的ros版本

sudo apt-get install ros-YOUR_DISTRO-cv-bridge ros-YOUR_DISTRO-tf ros-YOUR_DISTRO-message-filters ros-YOUR_DISTRO-image-transport
#笔者ros为18.04版本输入如下
sudo apt-get install ros-melodic-cv-bridge ros-melodic-tf ros-melodic-message-filters ros-melodic-image-transport

        2、首先工作空间

        如果你已经安装了视觉SLAM十四讲中的库就可以按照下面的指令在终端中输入。如果没有则需要去官网安装需要的库:https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git

你需要安装ROS和Ceres Solver。Ceres Solver库笔者之前有文章已经记录了安装方法需要的可以查看以下链接:

Ceres Solver从零开始手把手教学使用_每日亿学的博客-CSDN博客_ceres solver教程

mkdir -p catkin_ws/src
cd ./catkin_ws/src
git clone https://github.com/HKUST-Aerial-Robotics/VINS-Mono.git
cd ..
catkin_make

        3、运行

roslaunch vins_estimator euroc.launch 
roslaunch vins_estimator vins_rviz.launch
rosbag play YOUR_PATH_TO_DATASET/MH_01_easy.ba

二、使用ROS

  • 功能包:功能包(package)是构成ROS的基本单位。ROS应用程序是以功能包为单位开发的。查找功能包 :
find ./ -name "package.xml" #注意是在工作目录空间下进行寻找

可以看见有6个功能包:

  1. ./src/VINS-Mono-master/benchmark_publisher/package.xml #发送轨迹数据
  2. ./src/VINS-Mono-master/feature_tracker/package.xml #前段的功能包
  3. ./src/VINS-Mono-master/pose_graph/package.xml #回环检查的功能包
  4. ./src/VINS-Mono-master/vins_estimator/package.xml #后端的功能包
  5. ./src/VINS-Mono-master/camera_model/package.xml #相机模型功能包
  6. ./src/VINS-Mono-master/ar_demo/package.xml

节点:一个功能包至少有一个节点,一个节点可以理解成一个进程

消息:节点之间通过消息(message)来发送和接受数据,消息的类型可以是自定义,也可以是ros定义好的消息类型。

话题:最常见的消息通宵方式,发布着负责发,订阅着负责收,通过主节点讲订阅着节点直接连接到发布者节点。

使用rqt_graph可以查看节点直接的通信

 Launch文件:可以同时启动多个节点,(否则一个一个节点占用一个终端),加载参数到参数服务器(充当配置文件作用)

使用launch文件一键启动

我们可以自己更改launch文件来做到一键启动。

vins_estimator中的launch文件中辅助一份euroc.launch 为one_start.launch

更改如下:#处为自加第一个为打开rviz 第二个为play bag文件

<launch>
    <arg name="config_path" default = "$(find feature_tracker)/../config/euroc/euroc_config.yaml" />
  <arg name="vins_path" default = "$(find feature_tracker)/../config/../" />
    <include file="$(find vins_estimator)/launch/vins_rviz.launch"/>#自己加入
    <node name="feature_tracker" pkg="feature_tracker" type="feature_tracker" output="log">
        <param name="config_file" type="string" value="$(arg config_path)" />
        <param name="vins_folder" type="string" value="$(arg vins_path)" />
    </node>
 
    <node name="vins_estimator" pkg="vins_estimator" type="vins_estimator" output="screen">
       <param name="config_file" type="string" value="$(arg config_path)" />
       <param name="vins_folder" type="string" value="$(arg vins_path)" />
    </node>
 
    <node name="pose_graph" pkg="pose_graph" type="pose_graph" output="screen">
        <param name="config_file" type="string" value="$(arg config_path)" />
        <param name="visualization_shift_x" type="int" value="0" />
        <param name="visualization_shift_y" type="int" value="0" />
        <param name="skip_cnt" type="int" value="0" />
        <param name="skip_dis" type="double" value="0" />
    </node>
 
    <node pkg="rosbag" type="play" name="play" args="/home/hhb/dataset/EUROC/MH_05_difficult.bag" output="screen"/>#自己加入
</launch>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每日亿学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值