// 初始化ros节点 ros::init(argc, argv, "vins_estimator"); ros::NodeHandle n("~"); /* * 设置消息日志级别,默认有Debug,Info,Warn,Error,Fatal * Debug : 输出程序正常运行需要的信息 * Info : 输出大量用户需要的信息 * Warn : 输出警告,或许影响程序的应用,但系统仍处于可控的预期状态 * Error...
// ROS_INFO("estimate extinsic param"); openExEstimation = 1; } else { // ROS_INFO("fix extinsic param"); problem.SetParameterBlockConstant(para_Ex_Pose[i]); } } // 添加相机与IMU的时间同步 problem.AddParameterBlock(para_Td[0], 1); // 若不估计相机与IMU的时间同步,则固定他 if ...
intmain(intargc,char**argv) { ros::init(argc, argv,"globalEstimator"); ros::NodeHandle n("~"); global_path= &globalEstimator.global_path; ros::Subscriber sub_GPS= n.subscribe("/gps",100, GPS_callback); ros::Subscriber sub_vio= n.subscribe("/vins_estimator/odometry",100, vio_call...
ros::Subscriber sub_cam_switch = n.subscribe("/vins_cam_switch", 100, cam_switch_callback); std::thread sync_thread{sync_process}; //创建sync_thread线程,指向sync_process,这里边处理了processMeasurements的线程 ros::spin(); // 用于触发topic, service的响应队列 // 如果你的程序写了相关的消息...
VINS-Fusion 是一个基于优化的视觉-惯性里程计(Visual-Inertial Odometry, VIO)系统,它融合了视觉和惯性数据以提供精确的6自由度位姿估计。为了初始化 VINS-Fusion,你需要遵循一系列步骤来设置环境和配置系统。以下是一些关键的初始化步骤: 安装依赖项: 确保你的系统上安装了必要的依赖项,如 ROS(Robot Operating Syst...
(optional) rosrun loop_fusion loop_fusion_node ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml rosbag play YOUR_DATASET_FOLDER/MH_01_easy.bag 测试结果 接下来需要重点研究的几个工作 系统的初始化 前端特征追踪策略
程序入口:VINS-Fusion/vins-estimator/src/rosNodeTest.cpp 接下来从src/rosNodeTest.cpp文件开始入手 1. vins_estimator:: rosNodeTest.cpp中 首先 全局estimator Estimator estimator; Estimator类成员内部有两个重要的自定义类成员: FeatureManager f_manager;//用来对滑动窗口内所有特征点的管理。FeatureTracker feat...
VINS_estimator是VINS_Fusion的节点,其不包含回环检测部分,该节点可以单独对相机进⾏位姿估计。rosNodeTest.cpp rosNodeTest.cpp是vins_estimator节点的程序⼊⼝。主要实现以下函数。主程序包含以下流程:1. 读取配置⽂件参数 readParameter()2. 订阅了四个话题,分别是imu、双⽬相机图像以及feature_tracker所...
4. **解耦ROS并引入glog日志系统**:移除ROS依赖,引入glog日志系统,以方便在不同通信框架或计算平台上移植VINS,同时便于追踪代码执行情况,提高调试效率。5. **引入ui窗口进行可视化**:使用pangolin库实现了一个ui窗口,实时绘制VINS运行状态,包括特征点统计、实时观测数据、状态量以及优化误差等,极大...
roslaunch vins_fusion vins_fusion.launch 1. 2. 监控容器状态 使用以下命令可以查看当前运行的 Docker 容器: dockerps 1. 若需获取容器的日志信息,可以使用: dockerlogs<container_id> 1. 序列图描述系统流程 下面的序列图展示了 VinsFusion 的操作流程: ...