slam
文章平均质量分 73
豆皮卷香菜
这个作者很懒,什么都没留下…
展开
-
Quaternion kinematics for the error-state Kalman filter 文章理解
对eskf的理解原创 2021-12-06 21:36:21 · 1602 阅读 · 0 评论 -
2021-08-26 g2o pdf总结
目录1. 概述1.1 常用点和边类型1.1.1 BaseVertex1.1.2 BaseUnaryEdge1.1.3 BaseBinaryEdge1. 概述通过“顶点”和“边”来定义一个优化问题:(1)顶点需要包含如下信息:变量xix_ixi是什么类型的:Dom(xi)Dom(x_i)Dom(xi);变量Δxi\Delta x_iΔxi是什么类型的:Dom(Δxi)Dom(\Delta x_i)Dom(Δxi);如何通过xix_ixi和Δxi\Delta x_iΔxi得到新的xix_原创 2021-08-26 14:23:32 · 159 阅读 · 0 评论 -
g2o库的应用
0. 参考【1】https://blog.csdn.net/Hansry/article/details/1000613121. 在orbslam中的应用1.1 全局BA//pMap中所有的MapPoints和关键帧做bundle adjustment优化//这个全局BA优化在ORB-SLAM2中有俩个地方有用//a.单目初始化:CreateInitialMapMonocular 函数//b.闭环优化:RunGlobalBundleAdjustment函数/** * @brief bun原创 2021-08-05 20:45:10 · 211 阅读 · 0 评论 -
从零开始激光雷达slam
文章目录0. 参考文献1. kitti数据格式相关问题1.1 lidar_to_imu变换矩阵0. 参考文献https://zhuanlan.zhihu.com/p/104791974任乾的激光雷达入门系列1. kitti数据格式相关问题1.1 lidar_to_imu变换矩阵先看一下代码:// 在主函数中构造一个tf listener类std::shared_ptr<TFListener> lidar_to_imu_ptr = std::make_shared<TFLis原创 2021-07-30 07:07:22 · 599 阅读 · 2 评论 -
loam——laserMapping
主要看这个参考文献,弄懂移动格子那里,剩下的都和laserOdometry差不多https://zhuanlan.zhihu.com/p/111388877原创 2021-07-12 15:35:04 · 178 阅读 · 0 评论 -
loam——laserOdometry
直接看主函数中的while循环首先确保所有数据都收到了if (newCornerPointsSharp && newCornerPointsLessSharp && newSurfPointsFlat && newSurfPointsLessFlat && newLaserCloudFullRes && newImuTrans && fabs(timeCornerPoints原创 2021-07-11 21:53:42 · 118 阅读 · 0 评论 -
loam——scanRegistration
文章目录1. IMU 数据处理1.1 IMU handler函数1.2 AccumulateIMUShift()函数2. 处理激光点云laserCloudHandler函数2.1 ShiftToStartIMU(pointTime)函数2.2 VeloToStartIMU()函数2.3 TransformToStartIMU(&point)函数1. IMU 数据处理1.1 IMU handler函数看下面的代码,流程是:(1)直接获得imu信息里的roll pitch yaw(2)通过姿态原创 2021-07-11 16:50:48 · 158 阅读 · 0 评论 -
凸优化基础知识
文章目录0. 参考文献1. 凸集1.1 仿射集,凸集,凸锥1.2 常见的凸集1.3 保持凸性的操作求交集仿射透视齐次变换2. 凸函数2.1 四个定义方式2.2 常用凸函数仿射函数极大值函数极小极大函数由极大值函数引出的——log sum up 函数几何平均函数行列式的对数函数2.3 保持函数凸性的操作2.3.1 非负加权和拓展: 联合凸2.3.2 仿射映射2.3.3 两个函数的极大值函数2.3.4 向量中r个最大元素的和2.3.5 实对称阵的最大特征值2.3.6 函数的组合2.3.7 函数的透视2.3.8原创 2021-05-14 08:50:40 · 1510 阅读 · 0 评论 -
卡尔曼滤波笔记
文章目录0. 参考文献1. g-h filter1.1 通过试验来看直观效果0. 参考文献【1】kalman and bayesian filter in python1. g-h filter1.1 通过试验来看直观效果想看看体重拿来一个称,一称,172lbs过了一会儿,一称,160lbs卖家说,正常,没有称没有误差为什么有这本书:传感器不准这时候拿来另一个称,用A称,体重170lbs,用B称,体重160lbs,这个时候体重是多少?有几个选择:a. 相信A称:170lbsb. 相信原创 2021-04-09 17:17:10 · 172 阅读 · 0 评论 -
Quaternion kinematics for the error-state Kalman filter论文阅读
文章目录0. 参考文献1. 四元数的定义和属性1.1 四元数的定义1.1.1 四元数的表示方式1.2 四元数的性质1.2.1 加和1.2.2 积1.2.3 单位11.2.4 共轭1.2.5 长度1.2.6 逆1.2.7 单位四元数1.3 额外的性质1.3.1 quaternion commutator1.3.2 纯四元数的乘积1.3.3 纯四元数的幂1.3.4 纯四元数的指数1.3.5 一般四元数的指数1.3.6 单位四元数的对数1.3.7 一般四元数的对数1.3.8 四元数的幂的指数形式2. 旋转和cro原创 2021-04-07 17:30:32 · 1240 阅读 · 0 评论 -
四元数和旋转(Quaternions and rotations)
文章目录1. Introduction2. Quaternion Algebra2.1 加法和乘法2.2 complex conjugate,Norm and Inverse3. Quaternion Rotation Operator3.1 定理1文章翻译自Quaternion and rotations,作者Yan-Bin Jia译者刚入门,水平有限,仅供参考1. Introduction2. Quaternion Algebra本节是四元数的基本性质,可以参考这个链接中的内容,讲的非常详细:原创 2021-04-07 11:48:22 · 687 阅读 · 0 评论 -
特征值特征向量和奇异值分解SVD
文章目录1. 参考文献2. 主成分分析1——直觉2.1 第一个例子2.2 第二个例子2.3 第三个例子3. 主成分分析2——一些基础知识3.1 点乘3.1.1 单点点乘3.1.2 多点点乘3.2 外积?(outer product)不太对吧。。3.3 转置和对偶空间3.4 variable space和dual space关系3.5 variance和covariance3.5.1 variance3.5.2 covariance3.5.4 covariance matrix4. 主成分分析3——varia原创 2021-04-05 19:21:18 · 364 阅读 · 0 评论 -
slam基础——基础矩阵和本质矩阵
文章目录1. 参考文献2. 推导过程2.1 从一张图开始2.2 统一坐标系表达1. 参考文献【1】https://blog.csdn.net/electech6/article/details/83818218?spm=1001.2014.3001.55022. 推导过程2.1 从一张图开始首先是下面这幅经典的图,从图中可以看出(1)世界中三维坐标点P,投影在相机C0下,得到点p0;如果单从p0出发,是无法得到点P的实际位置,整条C0P线上的点都会投影落在p0点处。(2)从相机C1看,直线C0原创 2021-04-04 09:35:54 · 426 阅读 · 0 评论 -
李群李代数及其slam应用
文章目录参考文献slam十四讲内容概括参考文献【1】slam十四讲【2】barfoot state estimation这本书【3】Quaternion kinematics for the error-state Kalman filter【4】预积分北航博士讲解slam十四讲内容概括看了slam十四讲课程,总结一下。(1)描述空间旋转的方法:旋转矩阵,旋转向量,欧拉角,四元数等(2)当我们进行估计或优化时,面对的是一个关于空间旋转的目标函数,我们需要求导数。所以需要一种比较好的表达(原创 2021-03-18 11:29:20 · 619 阅读 · 0 评论 -
关于欧拉角和Gimbal lock
参考资料:https://krasjet.github.io/quaternion/bonus_gimbal_lock.pdf之前讲了一些欧拉角的知识,欧拉角是用3个角度,来表达空间内的旋转。但是采用欧拉角表示旋转有一个问题,就是gimbal lock。我们选择如下顺序的欧拉角进行表示:图(1)中两个坐标系重合,首先沿着自身的z’轴进行旋转,得到图(2)。然后沿着y’轴进行旋转pi/2角度,得到图(3)。此时可以看到,按照上文所选欧拉角旋转顺序,需要绕x’轴进行旋转,但此时x’轴与最开始的z’轴共原创 2021-03-17 16:26:49 · 248 阅读 · 0 评论 -
legoloam学习总结
文章目录imageProjection过程主要函数总结:featureAssociation过程主要函数mapOptimization过程主要流程imageProjection过程主要函数这里主要完成点云的预处理过程,主要看cloudHandler函数,如下:void cloudHandler(const sensor_msgs::PointCloud2ConstPtr& laserCloudMsg){ // 1. Convert ros message to pcl po原创 2021-03-16 19:20:41 · 822 阅读 · 0 评论 -
legoloam中transformAssociateToMap函数讨论
文章目录1. 说明1.1 参考资料1.2 transformAssociateToMap函数说明1.2.1 函数作用2. 测试代码1. 说明1.1 参考资料主要参考了知乎文章,并做了一些符合调整,符合作者本人理解https://zhuanlan.zhihu.com/p/1595251071.2 transformAssociateToMap函数说明1.2.1 函数作用通过laserOdometry可以获得本帧与上一帧之间的变换关系,利用这个变换关系,给出一个待优化的初始值。如下图所示2. 测原创 2021-03-15 19:17:25 · 1094 阅读 · 4 评论 -
loam中各种旋转各种坐标变换
文章目录欧拉角AccumulateRotation函数欧拉角从旋转所相对的坐标系来看,分成两种:extrinsic:每一次旋转,都相对于固定的基坐标系进行intrinsic:每一次旋转,都相对于旋转后的新坐标系进行从旋转轴类型上,分成两类:Proper Euler angles:有重复旋转的轴Tait–Bryan angles: 没有重复旋转的轴总结成下表:从loam的程序来看,可能选择的是上表中Y1X2Z3Y_1X_2Z_3Y1X2Z3这种类型AccumulateRotat原创 2021-03-10 09:36:03 · 1662 阅读 · 5 评论 -
slam基础知识g2o
这里总结一下在高翔的课程里看到的g2o相关的内容:最小二乘和概率分布的关系,这里cryril的课里也有一些,但是两个好像不太一样?g2o软件可以做的和我们要做的我们需要维护边和节点,也就是误差项的形式雅各比矩阵、增量方程构建、增量方程求解、迭代——这些事情可以由g2o完成。g2o是一个通用图优化求解库...原创 2021-03-05 19:08:56 · 163 阅读 · 0 评论 -
slam小单元——位姿矩阵
目录位姿矩阵测试代码这个系列是对slam中的一些小概念做理解和简单的测试位姿矩阵这个反应的是坐标系和坐标系之间的关系,作用:移动向量将一个坐标系下的向量(坐标)表达在另一个坐标系下如下图所示,在最开始的时候,坐标系xyz和x’y’z’重合。t1:绕z’轴旋转45°t2:绕x‘轴旋转90°t3:沿x’轴运动2,再沿y‘运动1与之相对应的是:t4:绕z轴旋转45°t5:绕x轴旋转90°t6:沿x轴运动2,再沿y轴运动1那么:(1)b2 = t1 * b1得到的b2矩阵是,坐原创 2021-03-05 18:57:11 · 3295 阅读 · 0 评论