- 博客(52)
- 资源 (27)
- 问答 (2)
- 收藏
- 关注
原创 VINS-Mono 代码解析二、初始化 第3部分
【4】视觉/惯导联合初始化为什么要初始化?答:(1)视觉系统只能获得二维信息,损失了一维信息(深度),所以需要动一下,也就是三角化才能重新获得损失的深度信息;(2)但是,这个三角化恢复的深度信息,是个“伪深度”,它的尺度是随机的,不是真实的,所以就需要IMU来标定这个尺度;(3)要想让IMU标定这个尺度,IMU也需要动一下,得到PVQ的P;(4)另外,IMU存在bias,视觉获得的旋转矩阵不存在bias,所以可以用视觉来标定IMU的旋转bias;(5)需要获得世界坐标系这个先验信息,通过初始化
2020-10-31 21:05:07 1761 2
原创 VINS-Mono 代码解析二、初始化 第1部分
一、前言VINS的状态估计器模块(estimator),主要在代码中/vins_estimator节点的相关部分实现。这个模块可以说是VINS的最核心模块,从论文的内容上来说,里面的内容包括了VINS的估计器初始化、基于滑动窗口的非线性优化实现紧耦合。此外还包括了关键帧的选择内容。该模块的代码放在文件夹vins_estimator中,可以看到,除了上述内容外,还包括有外参标定、可视化等其他功能的实现,内容实在是太多了!本人主要按照程序的运行步骤来讲解,理论和代码 结合的方式,可能有点多,后面可能会
2020-10-29 18:12:00 2129 14
原创 针孔模型相机 坐标系之间的变换 详解
目录一、整体图二、坐标系间的转换2.1 世界坐标系和相机坐标系2.2 相机坐标系和图像坐标系2.3 图像坐标系和像素坐标系一、整体图世界坐标系,相机坐标系,图像坐标系,像素坐标系之间的关系 如下图:注意:图中 P(X_w,Y_w,Z_w) 不是世界坐标系的点,应该是相机坐标系下的点,很明显是在相机坐标系下,即以Oc为中心的坐标系投射来的,那么P就应该标注为P(Xc,Yc,Zc), 这样更加准确,画的不是很确切, 会让读者产生误解的。要是说他错呢,也太牵强,毕竟人家本.
2020-10-29 13:36:42 1237
原创 VINS-Mono 代码解析一、前端
目录一、前言二、程序解析 2.1 参数读取2.2 读取相机对应的相机内参2.3 判断是否加入鱼眼 mask 来去除边缘噪声2.4 订阅话题4、对最新帧forw的特征点的提取和光流追踪(核心)5、对新加入的特征点更新全局id6、发布到pub_img7、将图像封装到cv_bridge::cvtColor类型的ptr实例中发布到pub_match三、总结一、前言feature_tracker是vins-nono的前端,它的目录在src/ ...
2020-10-28 21:49:03 2400 2
原创 LaTex 写论文
相关资料https://blog.csdn.net/Robot_Starscream/article/details/108665407
2020-10-28 17:00:42 172
原创 激光雷达 LOAM 程序 解析1:点云注册
目录一、系统框架分析二、程序分析一、系统框架分析整个LOAM的流程:点云注册,激光里程计(高频低精度),激光建图(低频高精度),坐标发布;系统的结构图如下所示:程序中对应的结构如下图所示,这样我们便可以很好的分析整个系统:想说的话:本人已经看过LOAM的论文,论文本身并不难理解,但当看程序的时候却是开始有点混乱,如果我们按照上面的结构图,一部分一部分看,思路会清晰不少。总而言之,应该去分模块学习,然后整体关联。 所以本人程序分析的第一部分是:点云注册二、程序分..
2020-10-28 11:19:07 1683 3
转载 从零开始做自动驾驶定位(十五): 第一阶段总结
文纯属转载,并认真学习一遍,感谢大佬分享!注释:文中蓝色文本是自己加上去的本文章配套源代码地址:https://github.com/Little-Potato-1990/localization_in_auto_driving测试数据:https://pan.baidu.com/s/1TyXbifoTHubu3zt4jZ90Wg提取码: n9ys本篇文章对应的代码Tag为 14.0代码在后续可能会有调整,如和文章有出入,以实际代码为准========================
2020-10-27 18:10:05 268
转载 从零开始做自动驾驶定位(十四): 基于地图的定位
文纯属转载,并认真学习一遍,感谢大佬分享!注释:文中蓝色文本是自己加上去的本文章配套源代码地址:https://github.com/Little-Potato-1990/localization_in_auto_driving测试数据:https://pan.baidu.com/s/1TyXbifoTHubu3zt4jZ90Wg提取码: n9ys本篇文章对应的代码Tag为 14.0代码在后续可能会有调整,如和文章有出入,以实际代码为准========================
2020-10-27 17:50:32 641
转载 从零开始做自动驾驶定位(十三): 关于建图的讨论
文纯属转载,并认真学习一遍,感谢大佬分享!注释:文中蓝色文本是自己加上去的本文章配套源代码地址:https://github.com/Little-Potato-1990/localization_in_auto_driving测试数据:https://pan.baidu.com/s/1TyXbifoTHubu3zt4jZ90Wg提取码: n9ys代码在后续可能会有调整,如和文章有出入,以实际代码为准========================================.
2020-10-27 17:36:28 468
转载 从零开始做自动驾驶定位(十二): 前端里程计扩展
文纯属转载,并认真学习一遍,感谢大佬分享!注释:文中蓝色文本是自己加上去的本文章配套源代码地址:https://github.com/Little-Potato-1990/localization_in_auto_driving测试数据:https://pan.baidu.com/s/1TyXbifoTHubu3zt4jZ90Wg提取码: n9ys本篇文章对应的代码Tag为 12.0代码在后续可能会有调整,如和文章有出入,以实际代码为准=====================.
2020-10-27 17:13:35 506
转载 从零开始做自动驾驶定位(十一): 闭环修正
文纯属转载,并认真学习一遍,感谢大佬分享!注释:文中蓝色文本是自己加上去的本文章配套源代码地址:https://github.com/Little-Potato-1990/localization_in_auto_driving测试数据:https://pan.baidu.com/s/1TyXbifoTHubu3zt4jZ90Wg提取码: n9ys本篇文章对应的代码Tag为 10.0代码在后续可能会有调整,如和文章有出入,以实际代码为准========================
2020-10-27 14:42:44 681
转载 从零开始做自动驾驶定位(十): 后端优化
文纯属转载,并认真学习一遍,感谢大佬分享!注释:文中蓝色文本是自己加上去的本文章配套源代码地址:https://github.com/Little-Potato-1990/localization_in_auto_driving测试数据:https://pan.baidu.com/s/1TyXbifoTHubu3zt4jZ90Wg提取码: n9ys本篇文章对应的代码Tag为 10.0代码在后续可能会有调整,如和文章有出入,以实际代码为准========================
2020-10-26 19:35:22 569
转载 从零开始做自动驾驶定位(九): 建图系统结构优化
文纯属转载,并认真学习一遍,感谢大佬分享!注释:文中蓝色文本是自己加上去的本文章配套源代码地址:https://github.com/Little-Potato-1990/localization_in_auto_driving测试数据:https://pan.baidu.com/s/1TyXbifoTHubu3zt4jZ90Wg提取码: n9ys本篇文章对应的代码Tag为 9.0代码在后续可能会有调整,如和文章有出入,以实际代码为准=========================
2020-10-26 19:18:05 426
转载 从零开始做自动驾驶定位(八): 点云畸变补偿
文纯属转载,并认真学习一遍,感谢大佬分享!注释:文中蓝色文本是自己加上去的本文章配套源代码地址:https://github.com/Little-Potato-1990/localization_in_auto_driving测试数据:https://pan.baidu.com/s/1TyXbifoTHubu3zt4jZ90Wg提取码: n9ys本篇文章对应的代码Tag为 8.0代码在后续可能会有调整,如和文章有出入,以实际代码为准======================.
2020-10-26 19:09:58 1724 1
转载 从零开始做自动驾驶定位(七): 里程计精度评价
文纯属转载,并认真学习一遍,感谢大佬分享!本文章配套源代码地址:https://github.com/Little-Potato-1990/localization_in_auto_driving测试数据:https://pan.baidu.com/s/1TyXbifoTHubu3zt4jZ90Wg提取码: n9ys本篇文章对应的代码Tag为 7.0代码在后续可能会有调整,如和文章有出入,以实际代码为准===========================================
2020-10-26 17:40:45 786
转载 从零开始做自动驾驶定位(六): 传感器时间同步
本文纯属转载,并认真学习一遍,感谢大佬分享!本文章配套源代码地址:https://github.com/Little-Potato-1990/localization_in_auto_driving测试数据:https://pan.baidu.com/s/1TyXbifoTHubu3zt4jZ90Wg提取码: n9ys本篇文章对应的代码Tag为 6.0代码在后续可能会有调整,如和文章有出入,以实际代码为准==========================================
2020-10-26 17:24:50 4159
原创 激光雷达 LOAM 程序 解析
目前先把论文搞懂,后面再看代码,先上两个大牛的解析,后面自己会研读一遍,写一篇自己的博客1、3D 激光SLAM ->loam_velodyne论文与代码解析Lidar Odometry and Mappinghttps://blog.csdn.net/Nksjc/article/details/764010922、LOAM源代码分析附公式推导https://blog.csdn.net/i_robots/article/details/108967807...
2020-10-24 19:45:41 384
原创 激光雷达 LOAM 论文 解析
注意:本人实验室买的是Velodyne VLP-16激光雷和LOAM 论文中作者用的不一样,在介绍论文之前先介绍一下激光雷达的工作原路,这样更容易理解激光雷达的工作过程,其实物图如下图1所示: 图1Velodyne VLP-16激光雷 实物图简介:Ve...
2020-10-24 19:32:02 4773 2
原创 ROS 系统采集数据保存到 移动硬盘中
一、问题描述因为我们在ROS下跑数据的时候会面临内存不够的问题,本人是双系统,采集视觉、IMU和激光雷达数据时电脑内存不足,为了解决这个问题,最直接的方法就是把数据 保存到U盘或移动硬盘中,下面就介绍一下自己移动硬盘的路径:二、查看移动硬盘的路径最快的方法:1、打开移动硬盘进入文件夹 -> 2、右击空白面 -> 3、选者 “终端打开”即可看到终端对应的位置:这里的 /media/hltt3838/8675-3ED2 ...
2020-10-23 22:27:36 863
原创 ROS roslaunch启动节点 - 报错找不到节点
一、问题描述进入文件夹,编译包roscorecd my_c++/VINS_test/BUAA_robot/src/Sensorscatkin_make -DCATKIN_WHITELIST_PACKAGES=""source devel/setup.bashroslaunch hardware_trigger_cam camera.launch报错:二、问题解决方法1:修改权限cd hardware_trigger_cam ...
2020-10-22 09:26:49 2177
原创 组合导航中杆臂的影响和测量
在组合导航领域,杆臂是一个很重要的参数。它的含义是指,当卫星天线与 POS 同载 体刚性运动(即运动过程中两者的相对位置关系始终不变)时,卫星天线相位中心到 POS 中心的向量,可描述为前者在 POS 坐标系下的坐标(X,Y,Z)。该坐标系为右手坐标系, 通常有“前-右-下”和“右-前-上”两种。如 GINS 软件中杆臂在“前-右-下”坐标系下的 空间示意图: 由于卫星天线与 POS 中心不在同一点,为了将位置结果统一,必须将两者的原点归算 至同一点。杆臂的作用正在于此,它起着桥梁的作...
2020-10-20 15:52:40 8610 3
转载 M39、Google Earth 在 GINS 中的应用
谷歌地球(GoogleEarth)是 Google 公司开发的一款虚拟地球仪软件,它把卫星照片、 航空照相和 GIS 布置在一个地球的三维模型上,用户们可以通过一个下载到自己电脑上的客户端软件,浏览全球各地的高清晰度卫星图片,GoogleEarth 可以查看最高为 0.61 米的 高精度影像,为全球商用最高水平。如此功能强大的软件,如果只用来浏览卫星图片,未免就过于浪费了。 图:GoogleEarth 在迈普时空高精度组合导航数据处理软件 GINS 中的应用界面 在处理 ...
2020-10-20 15:47:58 374
原创 M39、数据解码、查看软件(IMU 、GPS)
IMU 原始数据到底包括些什么信息,信息是如何组织的呢?请听本文来为你揭秘。 IMU 数据文件,主要包括陀螺仪和加速度计的观测量,以及数据采集的时刻。和 GNSS 数据不同的是,IMU 采样率很高,大多在 100Hz 以上。如果以文本形式存储,占用空间较大,而且在数据处理时,也需要进行额外的转换。故 IMU 原始数据一般采用二进制形式保存。但二进制数据生来就是给机器读取的,人无法直接读取。如果能直接图形显示查看,不仅解决上述问题,更能直观表现出数据的特征和问题。武汉迈普时空导航科技有限公司自...
2020-10-20 15:33:08 2166
原创 SLAM 学习详细资料总结
SLAM大佬网站1、跟踪SLAM前沿动态论文,更新的很频繁https://github.com/YiChenCityU/Recent_SLAM_Research2、很全视觉slam资料大全https://github.com/tzutalin/awesome-visual-slam3、开源SLAM列表https://github.com/OpenSLAM/awesome-SLAM-list4、很全面的SLAM教程https://link.zhihu.com/?target=h
2020-10-20 07:58:50 1299 2
转载 C++ 中vector基本用法及其insert()、begin()、end()、front()与back()的用法详解
一、C++ 中vector的使用方法vector是C++标准模板库(STL)中的部分内容,是一个十分有用的容器,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。作用:它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。特别注意:使用vector需要注意以下几点:1、如果你要表示的向量长度较长(需要为向量内部保存很多数),容易导致内存泄漏,而且效率会很低;2、Vector作为函数的参数或者返回值时,需要注意它的写
2020-10-19 21:14:28 6224
转载 从零开始做自动驾驶定位(五): 前端里程计之代码优化
本文纯属转载,并认真学习一遍,感谢大佬分享!本文章配套源代码地址:https://github.com/Little-Potato-1990/localization_in_auto_driving测试数据:https://pan.baidu.com/s/1TyXbifoTHubu3zt4jZ90Wg提取码: n9ys本篇文章对应的代码Tag为 5.0代码在后续可能会有调整,如和文章有出入,以实际代码为准==========================================
2020-10-19 21:04:38 657
转载 从零开始做自动驾驶定位(四): 前端里程计之初试
本文纯属转载,并认真学习一遍,感谢大佬分享!本文章配套源代码地址:https://github.com/Little-Potato-1990/localization_in_auto_driving测试数据:https://pan.baidu.com/s/1TyXbifoTHubu3zt4jZ90Wg提取码: n9ys本篇文章对应的代码Tag为 4.0代码在后续可能会有调整,如和文章有出入,以实际代码为准=========================================.
2020-10-19 20:58:18 669 3
转载 从零开始做自动驾驶定位(三): 软件框架
本文纯属转载,并认真学习一遍,感谢大佬分享!本文章配套源代码地址:https://github.com/Little-Potato-1990/localization_in_auto_driving测试数据:https://pan.baidu.com/s/1TyXbifoTHubu3zt4jZ90Wg提取码: n9ys本篇文章对应的代码Tag为 3.0代码在后续可能会有调整,如和文章有出入,以实际代码为准========================================.
2020-10-19 20:21:41 465
转载 从零开始做自动驾驶定位(二): 数据集
本文纯属转载,并认真学习一遍,感谢大佬分享!本文章配套源代码地址:https://github.com/Little-Potato-1990/localization_in_auto_driving测试数据:https://pan.baidu.com/s/1TyXbifoTHubu3zt4jZ90Wg提取码: n9ys本篇对应代码Tag为 2.0代码在后续可能会有调整,如和文章有出入,以实际代码为准========================================一、.
2020-10-19 19:36:51 475
转载 从零开始做自动驾驶定位(一): 开篇
本文纯属转载,并认真学习一遍,感谢大佬分享!1. 这个系列包含哪些内容按照时间先后主要包括以下几个模块的实现:1)3D激光SLAM包括激光点云地图的建立与基于点云地图的定位。建图又包括室外大场景建图与室内场景建图,区别是室外大场景必须借助 RTK作为约束 才能建立精确地图,室内场景由于没有RTK信号,则需要寻找其他约束才能建立闭合地图,比如 闭环检测 等。2)点云地图定位基础上添加 IMU 、GNSS、轮速计等信息仅依赖激光雷达定位,容易受外界环境影响,比如雷达被遮挡,或者进入了
2020-10-19 19:04:49 805
原创 多传感器数据融合
本人先收藏一波别人的资料,供大家参考;后期会亲自做一下这方面的实验1、自动驾驶常用数据集KITTI使用指南之一——图像雷达数据融合https://blog.csdn.net/BIT20091643/article/details/81177299?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-5.channel_param&depth_1-utm_source=distribu
2020-10-19 11:09:13 1476
转载 激光雷达运动畸变去除
1.激光雷达(激光测距雷达)1.1 传感器介绍基于三角测距原理的传感器主要简单介绍三角测距原理。原理如下图,A AA是接收器镜头,B是激光发射器;L,α,β均是已知量。基于TOF测距原理的传感器主要简单介绍TOF测距原理。TOF是飞行时间(Time of Flight)的简写。主要简单介绍波形相位差测距原理。精度较TOF高。传感器比较 优点 不足 适用场景 三角测距特点 中近距离精度较高;价格便宜 远距离精度较差;易受干扰.
2020-10-19 10:54:15 1521 1
转载 3D激光SLAM的回环检测方法
一、Scan-to-Scan 1、格地图或者说是概率占据栅格地图初步在Matlab中创建一个1000*1000大小的二维数组,如果数组中每个元素取值为0到255的整数(灰度图),再把这个数组用Matlab中的图片转换函数把数组转化为BMP图片(也可以其它你自己觉得合适的格式),这样我们就手动构建了一张地图了。直接用Windows自带的画图软件打开,可以在图上自己手动修改,这样就是手动地图修改,保存后在用Matlab读取这张BMP图片,转换为1000*1000的二维数组,这样就是地图的读取。说明:你也
2020-10-19 10:21:18 5042 1
原创 3D激光SLAM的帧间匹配方法: Point-to-Plane ICP、NDT、Feature-based Method
0、前言在说Point-to-Plane ICP 之前,先介绍一下ICP:经典ICP形如求相机的旋转矩阵一样,ICP的目的很简单,就是求解两堆点云之间的变换关系。具体的做法是,既然不知道 R和t (针对刚体运动),那我们就假设为未知量呗,然后通过某些方法求解。假设有两堆点云,分别记为两个集合 X=x1,x2,…,xm 和 Y=y1,y2,…,ym(m并不总是等于n)。然后呢,我们不失一般性的,假设两个点云之间的变换为 R(旋转变换)和t(平移变换),这个问题描述成最小化均方误差:...
2020-10-18 20:15:37 3058 1
转载 ROS-melodic VLP16激光雷达具体使用方法
测试系统:ubuntru18.04 x64Ros版本:melodic一、提前配置好本机有线连接的IP地址(1)点击电脑右上角网络的标志,然后再显示出来的信息中点击最后一个选项编辑连接(2 ) 点击有线连接1,如果以太网这个选项没有有线连接的相关内容,就点增加,创建一个以太网(enth)的连接(3)选中点击编辑然后选择IPV4在将IP地址子网掩码修改一下。修改标准:IP地址:192.168.1.x(x可以为1到254除开201以外的所有值,因为201是激光雷..
2020-10-18 17:45:51 1599 2
原创 Arduino 详细讲解和资料
因为 Balser相机要用到外部触发,故买了 Arduino单片机 提供特定PWM信号,进行外部的触发!资料下载连接:链接:https://pan.baidu.com/s/1k-DQLHhVLZhzKshrxOeLwA提取码:c8oc第一步:安装驱动 CH340点击,管理员运行即可驱动安装成功后,插上单片机的USB接口i,电脑会出现相应的端口:第二步:安装软件点击下载的安装包,把相应的软件发送到桌面,打开即可:第三步:相关配置选择相应的单片机型....
2020-10-17 09:46:10 4502
原创 1PPS:秒脉冲 相关概念理解
时钟模块上的GPS接收机负责接收GPS天线传输的射频信号,然后进行变频解调等信号处理,向基站提供1pps信号,进行同步。GPS使用原子钟(原子钟,是一种计时装置,精度可以达到每2000万年才误差1秒)1PPS:秒脉冲英文全称:Pulse Per Second GPS组合频率标准:校频机组成GPS 铷原子频标由GPS 接收板、铷振荡器、锁相电路、分频电路等部分组成。可以输出频率信号,1PPS 信号以及时间码信息。还有外部频率输入和外部秒信号输入选项。应用领域军用靶场及电子对抗时...
2020-10-16 17:01:43 54182 3
Realsense_D435i.zip
2021-11-01
MATLAB局部放大功能 magnify.m
2020-12-21
NovAtelConnect2.3.2.zip
2020-12-05
迈普时空M39使用手册
2020-12-04
RTGnssInsNav Setup_1.9.0327.exe
2020-12-04
ProPak6 接收机操作说明
2020-12-04
INS_GPS_KF_RTS.zip
2019-09-27
(Java问题):用jd-gui软件反编译后,导入到eclipse里有错误
2016-08-18
(Java问题):用jd-gui软件反编译后,导入到eclipse里有错误
2016-08-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人