VINS-mon代码解析——启动文件lauch文件与参数配置文件yaml介绍

本文详细介绍了VINS-Mono的启动过程,包括launch文件的作用和参数配置文件yaml的各个部分。重点讲解了通用参数、相机与IMU信息、外参估计、特征跟踪参数、VINS估计算法参数、IMU参数、闭环检测、时间差校准、卷帘相机支持及RVIZ可视化参数。正确配置这些参数对于VINS的运行效率和精度至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


参考链接:https://blog.youkuaiyun.com/qq_41839222/article/details/86564879
博主写的太好了,解答了我多年的疑惑O(∩_∩)O哈哈~
如有不妥的地方,请联系删除 O(∩_∩)O谢谢!

前言

一般我们通过以下命令运行VINS-Mono跑MH_01数据集。我们启动vins系统的时候,通常有一下命令:

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

那么,VINS的启动和运行需要提供哪些参数,若是想用自己的传感器运行VINS,又需要修改哪些参数?本文将以euroc.launch和euroc_config.yaml为例对VINS中的启动文件launch和参数配置文件yaml进行详细介绍。

启动文件launch

VINS在正常工作时一般存在三个节点:“/fature_tracker”、“/vins_estimator”、“/pose_graph”,而VINS的启动文件launch在文件夹VINS-Mono/vins_estimator/launch中,启动时直接读取euroc.launch同时打开三个节点。

首先介绍一下ROS中的launch文件——通过XML文件实现多节点的配置和启动(可自动启动ROS Master)。以及会用到的几个关键字:

  • < launch>:launch文件中的根元素采用标签定义
  • < node>:启动节点
    • 比如:< node pkg=“package-name” type=“executable-name” name=“node-name”>
  • < param>:设置ROS系统运行的参数,存储在参数服务器中
    • 比如:< param name=“output_farme” value=“odem”/>
  • < rosparam>:加载参数文件中的多个参数
    • 比如:< rosparam file=“params.yaml” command=“load” ns=“params”/>
  • < arg>:launch文件内部的局部变量,仅限于launch文件使用
    • 比如< arg name=“arg-name” default=“arg-value”/>
  • 参数调用:< param name=“foo” value="$(arg arg-name)"/>
euroc.launch文件

<launch> <!--根标签 -->
 <!--定义变量 设置局部变量"config_path",表示euroc_config.yaml的具体地址;-->
    <arg name="config_path" default = "$(find feature_tracker)/../config/euroc/euroc_config.yaml" />
 <!--定义变量设置局部变量"vins_path",在parameters.cpp中使用鱼眼相机mask中用到-->
	<arg name="vins_path" default = "$(find feature_tracker)/../config/../" />

 <!--需要启动的node及其参数 -->
    <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>
<!--启动"vins_estimator"节点,在该节点中需要读取参数文件,地址为config_file,即config_path-->
    <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>
<!--启动"pose_graph"节点,在该节点中需要读取参数文件,地址为config_file,即config_path,设置了4个参数-->
    <node name="pose_graph" pkg="pose_graph" type="pose_graph" output="screen">
        <param name="config_file" type="string" value="$(arg config_path)" />
<!--visualization_shift_x和visualization_shift_y表示在进行位姿图优化后,对得到的位姿在x坐标和y坐标的偏移量(一般都设为0-->
      
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值