
VINS_FUSION
代码解读
My.科研小菜鸡
这个作者很懒,什么都没留下…
展开
-
VINSFUSION-运行,并评估。
output_path: “/home/tong/output/”,改成自己的,其他的看自己用的啥相机,改话题名字和相关参数。当前帧在滑动窗口优化一次即吐出位姿。原创 2022-10-17 04:12:42 · 613 阅读 · 0 评论 -
代价函数、目标函数、损失函数
Q:为什么会提及关于代价函数的理解?A:在 ML 中线性回归、逻辑回归等总都是绕不开代价函数。理解代价函数:是什么?作用原理?为什么代价函数是这个?代价函数就是用于找到最优解的目的函数,这也是代价函数的作用。对于回归问题,我们需要求出代价函数来求解最优解,常用的是平方误差代价函数。比如,对于下面的假设函数:里面有 θ0 和 θ1 两个参数,参数的改变将会导致假设函数的变化,比如: 现实的例子中,数据会以很多点的形式给我们,我们想要解决回归问题,就需要将这些点拟合成一条直线,找到最优的 θ0 和 θ原创 2022-06-02 00:39:52 · 1240 阅读 · 0 评论 -
c++中setw()与setfill()的用法详情
1. 在C++中,setw(int n)用来控制输出间隔。例如:cout<<'s'<<setw(8)<<'a'<<endl;//在屏幕显示//s a //s与a之间有7个空格,加上a就8个位置,setw()只对其后面紧跟的输出产生作用,//如上例中,表示'a'共占8个位置,不足的用空格填充。若输入的内容超过setw()设置的长度,//则按实际长度输出2. setw()默认填充的内容为空格,可以setfill()配合使用设置其他字原创 2022-05-23 01:22:34 · 2775 阅读 · 0 评论 -
5.vinsdusion globalOptNode.cpp
IO输出的 nav_msgs::Odometry 类型消息,这个定位信息包含了VIO的位置和姿态,其坐标系原点位于VIO的第一帧处。GPS输出的sensor_msgs::NavSatFixConstPtr 类型消息,这个是全局定位信息,用经纬度来表示,其坐标原点位于该GPS坐标系下定义的0经度0纬度处。1.消息订阅和发布:// 订阅GPSros::Subscriber sub_GPS = n.subscribe("/gps", 100, GPS_callback);// 订阅里程计ros::Su原创 2022-05-18 00:30:02 · 581 阅读 · 0 评论 -
vinsfusion数据结构
vinsfusion含有大量容器嵌套的数据结构。我一般看的方法是,把容器看做数据的集合,<>括号内为单个历元数据的数据样式。featureFrame // 特征点id、相机id、(x,y,z,pu,pv,vx,vy) map<int, vector<pair<int, Eigen::Matrix<double, 7, 1>>>> featureFrame; featureFrame为 一个map容器也就是一个数据集合,第一原创 2022-04-18 14:41:13 · 358 阅读 · 0 评论 -
4.vinsfusion数据流解读 ---processImu函数
回忆:从之前的解读中我们通过对原始数据的处理得到了当前帧的featureFrame,数据包括// 添加当前帧特征点(归一化相机平面坐标,像素坐标,归一化相机平面移动速度) map<int, vector<pair<int, Eigen::Matrix<double, 7, 1>>>> featureFrame;通过对惯导数据执行vins_estimator/src/estimator/estimator.cpp中inputIMU函数将原始数据存原创 2022-04-03 19:04:03 · 788 阅读 · 0 评论 -
vlsam容易混洗的概念
特征点、角点、关键点:这些概念虽然在细节上有所不同,但都可以统一称为特征点或者关键点,也就是具有特征性质的点。外点(outlier point):简单的理解为不符合条件的点。原创 2022-03-29 23:48:07 · 245 阅读 · 0 评论 -
3.vinsfusion数据流解读补充知识点-特征点法和光流法
特征点法:1.特征提取关键点、描述子2.特征匹配暴力匹配、快速最近邻、汉明距离。匹配点对筛选光流法:1.光流法,只需计算特征点而不需要计算描述子。2.光流追踪相当与特征点法的特征匹配得到的是当前帧和之前特征点的匹配关系lk光流追踪原理:https://www.cnblogs.com/ailitao/p/11047261.html其他的就基本一样了。...原创 2022-03-29 22:46:35 · 993 阅读 · 0 评论 -
2.vinsfusion 数据流解读
继续上一节写到的诗句cv::mat格式的图像数据和时间进入estimator.cpp的inputimage函数。1.输入图像和时间到trackImage当函数得到前帧特征点数据(归一化相机平面坐标,像素坐标,归一化相机平面移动速度)。 //featureTracker类在构建estimator类时构建 featureFrame = featureTracker.trackImage(t, _img, _img1);//追踪双目注意:此时得到的featureFrame和订阅前端"/feat原创 2022-03-28 23:54:44 · 859 阅读 · 0 评论 -
1.vinsfusion-从数据流看程序
图像数据流1.订阅话题数据: // 订阅左图 ros::Subscriber sub_img0 = n.subscribe(IMAGE0_TOPIC, 100, img0_callback); // 订阅右图 ros::Subscriber sub_img1 = n.subscribe(IMAGE1_TOPIC, 100, img1_callback);2.img0_callback、img1_callback回调函数将接受到的图像存储到图像队列queue<s原创 2022-03-28 16:29:10 · 1395 阅读 · 0 评论