- 博客(22)
- 收藏
- 关注
原创 滤波估计理论(四)——无迹卡尔曼滤波(Unscented Kalman Filter)
滤波估计理论(四)——无迹卡尔曼滤波(Unscented Kalman Filter)无迹变换(Unscented Transform)在EKF中我们使用泰勒级数近似非线性函数是为了利用Gaussian的线性性质进行期望(均值)和方差的传递,但在线性化过程中,由于线性化点的选择和高阶项的舍弃,将不可避免的存在线性化误差。如果我们能找到一种方法直接获得非线性变换之后的期望和方差,就可以避免由线性化...
2020-08-01 16:19:26
3292
原创 SLAM和里程计评估工具——evo
SLAM和里程计评估工具——evoevo数据格式evo命令行工具使用evo进行轨迹可视化(``evo_traj``)使用evo可视化误差(``evo_ape``)使用evo进行详细评估(``evo_res``)evo(https://michaelgrupp.github.io/evo/)是一个用于SLAM和里程计结果评估的python工具包,其提供了十分丰富的位姿分析和数据可视化功能。工具包的...
2020-04-02 20:07:22
2437
3
原创 SLAM可视化绘图库——Pangolin教程(三)
SLAM可视化绘图库——Pangolin教程(三)Task5:pangolin绘制数据曲线代码解析Task6:pangolin绘制相机位姿在上一讲中,我们学习了如何使用Pangolin为视窗添加各种不同的控件以及对视窗进行分割以显示不同的图片,今天我们将继续学习如果使用pangolin绘制数据曲线以及带位姿变化的相机模型。教程代码:https://github.com/yuntianli91...
2020-03-30 15:16:50
7791
6
原创 SLAM可视化绘图库——Pangolin教程(二)
SLAM可视化绘图库——Pangolin教程(二)Task3:为Pangolin添加控件代码解析Task 4:多视图与图片显示代码解析在上一讲中,我们学习了如何使用Pangolin绘制一个简单的动画并在多线程中运行,今天我们将继续学习如果对Pangolin的视窗进行分割并添加简单的控件。教程代码:https://github.com/yuntianli91/pangolin_tutorial...
2020-03-29 10:50:15
8293
7
原创 SLAM可视化绘图库——Pangolin教程(一)
Pangolin教程(一)Task1:创建一个简单的Pangolin代码解析运行结果Task2:Pangolin与多线程代码解析Pangolin是一个基于OpenGL的轻量级开源绘图库,在许多开源SLAM算法(例如ORB-SLAM)中都会用来进行可视化操作。遗憾的是,Pangolin除了doxygen外并没有详细的入门教程和手册,只在其github homepage 上给出了几个简单的examp...
2020-03-26 20:26:14
17642
10
原创 矩阵的特征值与奇异值
矩阵的特征值与奇异值奇异值分解SVD分解奇异值分解对于nnn阶方阵A\bm{A}A来说,其特征值定义为:Ax=λx\bm{A}\bm{x}=\lambda\bm{x}Ax=λx式中λ\lambdaλ为矩阵A\bm{A}A的特征值,x\bm{x}x为矩阵A\bm{A}A的特征矢量。如果我们求出了矩阵A\bm{A}A所有的特征值{λ1,λ2,⋯ ,λn}\{\lambda_1,\lambd...
2020-03-18 10:05:07
2788
1
原创 深蓝学院从零开始手写VIO(五)——视觉前端
深蓝学院从零开始手写VIO(五)——视觉前端视觉前端算法特征+光流跟踪算法关键帧与三角化声明:本专栏文章为深蓝学院《从零开始手写VIO》课程个人学习笔记,更多学习资源请咨询深蓝学院相关课程。视觉前端算法从大类上可以分为特征法和直接法两类,具体可参见《视觉SLAM十四讲》,课程这里给句几个简单的结论:光流法最成熟,但缺点明显(受光照干扰,依赖角点)。Fast+光流是目前比较实用的快速算法...
2020-03-16 19:34:13
606
原创 深蓝学院从零开始手写VIO(四)——后端优化实践
深蓝学院从零开始手写VIO(四)——后端优化实践非线性最小二乘问题求解的优化方法使用舒尔补加速求解信息矩阵不满秩的处理方法Solver的代码框架声明:本专栏文章为深蓝学院《从零开始手写VIO》课程个人学习笔记,更多学习资源请咨询深蓝学院相关课程。本节课为主要以VINS-Mono为例,讲解VIO后端优化中的一些实践trick。非线性最小二乘问题求解的优化方法根据前几讲的内容可知,最小二乘问题...
2020-03-16 11:20:58
779
原创 深蓝学院从零开始手写VIO(二)——VIO中的BA问题
深蓝学院从零开始手写VIO(二)——VIO中的BA问题最小二乘问题的求解牛顿法高斯牛顿法LM法(阻尼牛顿法)最小二乘问题的求解最小二乘问题指的是对于nnn维变量x∈Rn\bm{x}\in\mathbb{R}^nx∈Rn,寻找一个最优值x∗\bm{x}^\astx∗使得代价函数(cost function)F(x)F(\bm{x})F(x)取最小值,而代价函数通常具有如下形式:F(x)=12∑...
2020-03-16 11:12:42
1047
原创 深蓝学院从零开始手写VIO(三)——滑动窗口理论
深蓝学院从零开始手写VIO(三)——滑动窗口理论SLAM问题的概率建模最大后验估计与加权最小二乘一个简单的例子舒尔补、条件概率与边缘概率声明:本专栏文章为深蓝学院《从零开始手写VIO》课程个人学习笔记,更多学习资源请咨询深蓝学院相关课程。SLAM问题的概率建模最大后验估计与加权最小二乘SLAM问题可以建模为一个贝叶斯估计问题(关于贝叶斯估计的相关内容可参见另一篇文章——贝叶斯滤波)。对于S...
2020-03-10 16:01:21
1131
11
原创 Spline fusion论文总结
Spline-Fusion相机的位姿表示Cumulative cubic B-Splines曲线B-Splines的累积基函数表示相机的位姿表示两帧之间的相机位姿可以用4×44\times44×4的齐次变换矩阵表示为:Tba=[Rbaab0T1],Tba∈SE3,Rba∈SO3\bm{T}_{ba}=\begin{bmatrix}\bm{R}_{ba} & \bm{a}_b\\...
2020-03-02 16:51:30
941
1
原创 深蓝学院从零开始手写VIO(一)——IMU模型
深蓝学院从零开始手写VIO(一)——IMU模型旋转运动学声明:本专栏文章为深蓝学院《从零开始手写VIO》课程个人学习笔记,更多学习资源请咨询深蓝学院相关课程。旋转运动学...
2020-02-28 17:07:25
7291
2
原创 滤波估计理论(三)——扩展卡尔曼滤波器(Extended Kalman Filter)
滤波估计理论(三)——扩展卡尔曼滤波器(Extended Kalman Filter)矢量函数的泰勒级数高斯分布非线性变换的线性近似一阶近似线性近似EKF加性噪声模型非加性噪声模型在经典Kalman滤波的推导中,我们假设系统的动态模型和量测模型皆是线性的,因而可以基于Gaussian分布的线性化性质,直接推导出线性变换后的分布。但在实际生活中,线性模型是一个强假设,大多数的系统并不是线性的,其动...
2020-02-25 16:29:16
1594
原创 滤波估计理论(二)——卡尔曼滤波器(Kalman Filter)
滤波估计理论(二)——卡尔曼类滤波器(Kalman Filter Family)线性Kalman滤波高斯变量的联合分布与条件分布高斯变量的联合分布(条件->联合)高斯变量的条件分布(联合->条件)线性Kalman滤波我们知道,贝叶斯滤波的具体形式取决于先验概率分布、系统动态模型等多个方面,二者不同的搭配会带来不同的结果,因此这里我们首先来看一个最为简单的搭配——线性模型+高斯分布。...
2020-02-23 18:04:10
1577
原创 滤波估计理论(一)——贝叶斯滤波
滤波估计理论(一)——贝叶斯滤波(Bayesian Filter)估计问题的建模估计问题的建模从定义上来说,贝叶斯滤波是通过假设系统状态和观测都服从一定的概率分布,从而利用贝叶斯法则求解最优估计的问题的一类算法。这是因为在绝大部分问题中,我们都会假设我们需要估计的变量服从一定真值和噪声的分布。如果我们能估计出噪声的统计特征,从而将噪声去除,我们就可以得到真实的系统状态和观测量。...
2020-02-22 16:22:57
6453
3
原创 ROS坐标系管理工具包-tf2
ROS坐标系管理工具包-tf2简介编写静态tf2发布器编写动态tf2发布器编写tf2接收器简介ROS中存在许多不同的坐标系,例如传感器坐标系、机器人本体系、世界坐标系、地图坐标系等。虽然我们可以手动管理不同坐标系之间转换关系,但在大型项目中难免会出现混乱,为此ROS提供了坐标系管理工具包tf和tf2,两者的简介和区别可以参考官方文档ROS tf2简介。对于新用户来说,官方建议使用上手直接使用...
2019-11-22 14:42:54
1148
原创 相机模型与畸变处理
针孔相机模型与畸变处理针孔相机模型相机畸变模型径向畸变模型切向畸变模型联合畸变模型畸变矫正方法针孔相机模型SLAM中采用的相机模型大多基于针孔相机模型,在说明针孔相机模型的投影关系之前,先明确需要用到的几个坐标系下用一个空间点的不同坐标表示:-世界坐标系www:空间点在世界坐标系下的坐标表示为Pw=[XYZ]T\bm{P}^w=\left[\begin{array}{ccc}X & ...
2019-09-25 15:33:49
1283
原创 IMU预积分类——IntegrationBase
IMU预积分类 —IntegrationBase详解,包括预积分的理论推导及IntegrationBase类详解的代码分析(成员变量和成员函数)
2019-09-16 16:23:15
1574
原创 Ceres详解(一) Problem类
Ceres详解(一) Problem类引言Problem::AddResidualBlock( )Problem::AddParameterBlock( )引言Ceres是由Google开发的开源C++通用非线性优化库(项目主页),与g2o并列为目前视觉SLAM中应用最广泛的优化算法库(VINS-Mono中的大部分优化工作均基于Ceres完成)。Ceres中的有限边界最小二乘问题建模为以下形式...
2019-09-04 16:13:15
13686
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人