随笔分类 - SLAM
摘要:问题来源是 IMU 中 Gyroscope 测量的角速度实际含义,从而帮助理解 IMU 预积分过程中 Rotation Matrix 的积分过程(即文献 [1] 中公式 (30) 的第一个等式)。 解决这个问题,参考文献 [2] State Estimation for Robotics 的 与 。
阅读全文
摘要:PnP 问题即 "Perspective n Point" 。 有 P3P 方法,使用三个点对就能求解。但是先按照熟悉的方法,写一写。最后写 P3P 方法,P3P 方法还是比较晦涩的,不是无脑方法。 1. 八点法(使用正交补推导出线性系统) 我希望把 SLAM 问题中基础理论都归纳到统一的框架下,但
阅读全文
摘要:5 “step”计算 参考 "《DSO windowed optimization 公式》" ,计算各个优化变量的增加量。 公式再写一下: $$\begin{align} \begin{bmatrix} H_{\rho\rho} & H_{\rho X} \\ H_{X\rho} & H_{XX}
阅读全文
摘要:以前看的书都提到 SE(3) 和 se(3) 的 Adjoint,但是并没有讲这个东西是干什么用的,只是给了一堆性质。这东西来自群论。 参考 Lie Groups for 2D and 3D Transformations 的 2.3。 In Lie groups, it is often nece
阅读全文
摘要:给 StereoDSO 加 IMU,想直接用 OKVIS 的代码,但是有点看不懂。知乎上郑帆写的文章 "《四元数矩阵与 so(3) 左右雅可比》" 提到 OKVIS 的预积分是使用四元数,而预积分论文中使用 so(3) 的右雅克比。才疏学浅,先整理好 so(3) 的预积分,写好 StereoDSO
阅读全文
摘要:4 Schur Complement 部分信息计算 参考《DSO windowed optimization 公式》,Schur Complement 部分指 Hsc($H_{X\rho} H_{\rho\rho}^{ 1} H_{\rho X}$)和 bsc($H_{X\rho} H_{\rho\
阅读全文
摘要:3 非 Schur Complement 部分信息计算 参考 "《DSO windowed optimization 公式》" ,非Schur Complement 部分指 $H_{XX}$ 和 $J^T_{X}r$。 3.1 优化的局部信息计算 EnergyFunctional::accumula
阅读全文
摘要:1. okvis_app_synchronous.cpp 在此文件中 okvis 对象为 okvis_estimator,是类 okvis::ThreadedKFVio 的实例化对象。 数据输入接口是 ThreadedKFVio::addImuMeasurement 和 ThreadedKFVio:
阅读全文
摘要:这里不想解释怎么 marginalize,什么是 First Estimates Jacobian (FEJ)。这里只看看代码,看看Hessian矩阵是怎么构造出来的。 1 优化流程 整个优化过程,也是 Levenberg–Marquardt 的优化过程,这个优化过程在函数 "FullSystem:
阅读全文
摘要:从数据流的角度讲一遍 DSO 代码框架。 DSO 的入口是 FullSystem::addActiveFrame,输入的影像生成 FrameHessian 和 FrameShell 的 Object,FrameShell 是 FrameHessian 的成员变量,FrameHessian 保存影像信
阅读全文
摘要:这里有一个细节,我想了很久才想明白,DSO 中的 residual 联系了两个关键帧之间的相对位姿,但是最终需要优化帧的绝对位姿,中间的导数怎么转换?这里使用的是李群、李代数中的Adjoint。 参考 http://ethaneade.com/lie.pdf 。 需要变通一下,字母太多,表达不方便。
阅读全文
摘要:接上一篇博客《直接法光度误差导数推导》,DSO 代码中 "CoarseInitializer::trackFrame" 目的是优化两帧(ref frame 和 new frame)之间的相对状态和 ref frame 中所有点的逆深度。 在代码中出现了变量 和变量 ,其中的"sc"是指 Schur
阅读全文
摘要:DSO 代码中初始化的部分。CoarseInitializer 将第一帧作为 ref frame,第二帧作为 new frame。ref frame 的 idepth (inverse depth) 一开始的时候都设置为1,随后在确定 new frame 相对 ref frame 之间相对位姿、光度
阅读全文
摘要:论文链接:http://202.114.96.204/cache/13/03/x io.co.uk/35c82431852f2aa7d0feede9dc138626/madgwick_internal_report.pdf IMU 是指六轴传感器,包含陀螺仪和加速度计。MARG 是指九轴传感器,在
阅读全文
摘要:如题,这是一件很蛋疼的事情。 为了完成这一件事情,需要达成目标: 1. Ubuntu GUI 必须要能够显示。 2. Ubuntu 可以链接 USB Camera。 目标一 目标1很容易达成。 在 Win10 中安装一个 X11 Server,可以是 VcXsrv,可以是 Xming,比较不推荐 X
阅读全文
摘要:Here are some exercises answers for State Estimation for Robotics , which I did in June, 2017. The book's public link is here http://asrl.utias.utoron
阅读全文
摘要:OpenCV 的类型与通道的表示方法。 参考文件 https://github.com/opencv/opencv/blob/05b15943d6a42c99e5f921b7dbaa8323f3c042c6/modules/core/include/opencv2/core/hal/interfac
阅读全文
摘要:今天上午,因为“家里蹲”大神在 SLAM 交流群里问了一下为什么 $E$ 分解出来的 $R$ 需要判断 $R$ 的行列式,如果为 1,就需要所有元素乘以 1,以得到行列式为 +1 的 $R$。 旋转矩阵是将原基底下的坐标变换为新基底下的坐标,是一个线性变换的过程。 从二维旋转矩阵开始 二维旋转矩阵推
阅读全文
摘要:这两篇文章讲得很好。 "矩阵求导术(上)" "矩阵求导术(下)" 比记公式靠谱多了。 对于求导的数学形式可以看看这个PPT。 http://wenku.baidu.com/link?url=f109MlZkctazXKxECYea d5yFvU5xeub1jmFfq3z UlsUGjbgam5tiA
阅读全文
摘要:ORB_SLAM2 计算 F21 的代码是这样的。 F21 的真正意思是: $$ x_2^TF_{21}x_1^T=0 $$ 而写成克罗内克积的形式应该是这样的: $$ (x_1 \otimes x_2)^TF_{21}^s = 0 $$ 而 $$ (x_1 \otimes x_2)^T = [ u
阅读全文