自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SLAM小学僧

记录SLAM学习之旅

  • 博客(49)
  • 收藏
  • 关注

原创 VINS学习(二)IMU预积分原理与实现

VINS中IMU预积分原理与代码实现

2022-11-15 16:37:17 1830 2

原创 VINS学习(一)视觉前端

VINS-Mono是HKUST的Shen Shaojie团队开源的一套Visual-Inertial紧耦合融合定位算法,https://github.com/HKUST-Aerial-Robotics/VINS-Mono。

2022-11-08 16:37:26 2176 2

原创 LeGo-LOAM框架后端优化总结

LeGo-LOAM是发表于IROS2018年的文章,全称为:Lightweight and Ground-Optimize Lidar Odometry and Mapping on Variable Terrain.

2022-08-13 19:18:44 2008

原创 LOAM框架后端优化总结

LOAM框架后端优化总结

2022-08-11 19:39:13 754

原创 激光SLAM后端优化总结之图优化

优化问题,可以用图的方式表示,图的节点是需要优化的变量,边是优化变量之间的约束。节点可以是位姿,也可以是landmark;边可以是位姿之间的关系也可以是观测量;

2022-07-21 18:10:07 3217

原创 激光SLAM后端优化总结之卡尔曼滤波

卡尔曼滤波是非常经典的预测追踪算法,能够在系统存在噪声和干扰的情况下进行系统状态的最优估计,广泛使用在导航、制导、控制相关的领域。

2022-07-21 15:46:35 969

原创 激光SLAM里程计算法总结(ICP、NDT与运动畸变)

在导航系统中,里程计(Odometry)数据用来估算机器人位置随时间的PCL点云库中ICP方法的使用:PL-ICP是二阶收敛,ICP是一阶收敛PL-ICP对初始值更敏感以点到线的误差为目标函数,PL-ICP的求解精度更高正态分布变换 (Normal Distribution Transform)与ICP不同, NDT 假设点云服从正态分布,我们的目的是找一个姿态,使得当前扫描点位于扫描参考平面的可能性最大。最后概率密度函数可以表示为:目标函数为:s(p⃗)=∑k=1n...

2022-07-13 17:06:26 2488

原创 解决向日葵连接ubuntu时连接已断开问题方法

解决向日葵连接ubuntu时连接已断开问题方法确认电脑是否已连接显示器,向日葵需要连接显示器。终端输入cat /etc/X11/default-display-manager,若显示的不是\usr\sbin\lightdm则这个方法可以解决连接问题,若显示正确,本文提到的方法并不能解决向日葵的连接问题。终端依次输入:sudo apt-get updatesudo apt-get upgradesudo apt-get install lightdm最后会出现一个选择界面,请选择l

2021-12-20 10:59:30 4198 1

原创 IMU预积分模型分析

IMU预积分模型分析1.预积分计算2.连续时间下预积分方差更新矩阵计算2.1 δθ˙tbk\delta \dot \theta^{b_k}_tδθ˙tbk​​的微分推导1) 写出不考虑误差的微分方程2) 写出不考虑误差的微分方程3) 写出带误差的值与理想值之间的关系4) 将带误差的值与理想值之间的关系带入2)5) 把1)中的关系带入4)6) 化简方程2.2 δβ˙tbk\delta \dot\beta^{b_k}_tδβ˙​tbk​​的微分推导1) 写出不考虑误差的微分方程2) 写出不考虑误差的微分方程3)

2021-12-05 17:06:39 2966 1

原创 【论文阅读】Tightly Coupled 3D Lidar Inertial Odometry and Mapping

Tightly Coupled 3D Lidar Inertial Odometry and Mapping摘要I. 介绍II. 相关工作III. 符号与说明A. 符号A. IMU运动本文主要是对LIO-Mappingt论文的一些学习总结,具体的参考文献请参考原文,如有不对之处,希望大家提出宝贵的意见,共同进步~摘要运动估计是移动机器人的基本要求之一,通过传感器融合我们可以弥补单一传感器的缺陷并提供更可靠的运动估计。在这篇文章中,我们介绍一种Lidar-IMU紧耦合融合方法。提供通过联合最小化雷达和I

2021-11-29 22:06:09 2129

原创 一文详解线性最小二乘与非线性最小二乘

一文详解线性最小二乘与非线性最小二乘一、最小二乘法的引出二、线性最小二乘法三、非线性最小二乘法一、最小二乘法的引出我们考虑下面一个方程组的求解:x1+x2=5x1−x2=3x1+x2=4x_1+x_2=5 \\x_1-x_2=3 \\x_1+x_2=4 \\x1​+x2​=5x1​−x2​=3x1​+x2​=4可以写成形如Ax=bAx=bAx=b的矩阵形式:[111−111][x1x2]=[534]\begin{bmatrix}1 & 1\\ 1 & -

2021-11-15 22:52:15 5135

转载 G2O使用时遇到的一些编译问题

g2o::LinearSolverEigen  g2o::LinearSolverDense g2o::LinearSolverCSparse g2o::LinearSolverCholmod是常用的线性方程求解器一套可运行程序(包括不同梯度下降优化器)链接: https://pan.baidu.com/s/1PyJ4kU3Jx6FGfWR23VzwfA 提取码: 3uw6使用需要三个地方注意1.Cmakelist应当find了对应库,链接了这些线性方程求解器的lib,部分Cmakelist

2021-11-04 11:39:51 420

原创 【论文阅读】Super Odometry: IMU-centric LiDAR-Visual-Inertial Estimator for Challenging Environments

Super Odometry: IMU-centric LiDAR-Visual-Inertial Estimator for Challenging Environments摘要I. 介绍II. 相关工作A. 松耦合激光-视觉-惯性里程计B. 紧耦合激光-视觉-惯性里程计C. 方法要点III.系统概述IV. 方法论A. IMU里程计因子1) IMU预积分因子:2) IMU里程计优化:B.激光惯性里程计因子1) 基于PCA的特征提取2) 多尺度ICP因子3) 激光惯性里程计优化4) 动态八叉树C.视觉惯性里

2021-11-04 09:20:26 1047 1

原创 SLAM库学习: 从因子图到GTSAM

SLAM库学习: 从因子图到GTSAM一、从贝叶斯网络到因子图优化1. 贝叶斯网络2. 因子图3. 非线性最小二乘问题4. 线性最小二乘问题(1) QR分解(2) Cholesky 分解二、iSAM2三、GTSAM实战一、从贝叶斯网络到因子图优化1. 贝叶斯网络分析上图的贝叶斯网络,机器人状态x0x_0x0​、x1x_1x1​、x2x_2x2​、x3x_3x3​满足一阶马尔科夫性;空间中存在路标l1l_1l1​、l2l_2l2​、l3l_3l3​;而z1z_1z1​到z8z_8z8​分别代表了在机器

2021-10-19 11:38:47 3352

转载 MATLAB R2017b for Ubuntu 20.04安装

1.下载与解压MATLAB R2017b Linux 安装包下载地址:链接:https://pan.baidu.com/s/1zM6y_LBdyMP9YAfujcOw5A 密码: m7lq解压缩:cat R2017b_glnxa64.* > R2017b_glnxa64_all.zip unzip R2017b_glnxa64_all.zip sudo apt-get updatesudo apt-get install unrarsudo rar x MATLABR2017b_

2021-07-17 16:53:06 453

原创 自动驾驶常用传感器介绍

自动驾驶常用传感器介绍一、摄像头1. 概述2. 摄像头在自动驾驶中的应用3. 车规级摄像头性能要求4. 摄像头的优劣势分析5. 摄像头关键参数二、激光雷达1. 概述2. 工作原理3. 激光雷达的特性4. 激光雷达的分类5. 激光雷达在自动驾驶中的应用三、毫米波雷达1. 概述2. 工作原理3. 在自动驾驶行业中的应用4. 毫米波雷达的优劣势5. 毫米波雷达性能参数四、惯性传感器(IMU)1. 概述2. IMU的特性3. 在自动驾驶中的应用五、GNSS与RTK1. GNSS介绍2. RTK介绍3. 在自动驾驶中

2021-07-04 17:59:39 8366

原创 LeGO-LOAM源码解析5: featureAssociation(三)

featureAssociation.cpp解析三七、优化初始化八、特征关联1. 更新初始位姿updateInitialGuess2. 更新变换矩阵updateTransformation3. 更新累积变化矩阵integrateTransformation4. 里程计发布publishOdometry5. 发布点云publishCloudsLastloam源码地址:https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.论文学习:【论文阅读】LeGO-LO

2021-07-01 16:25:30 2829 4

原创 LeGO-LOAM源码解析4: featureAssociation(二)

featureAssociation.cpp解析二五、运行接口函数runFeatureAssociation六、曲率计算与特征提取1. 畸变去除adjustDistortion(1) 线性插值具体流程(2) 投影函数a) 速度投影VeloToStartIMUb) 点云投影TransformToStartIMU2. 计算平滑度calculateSmoothness3. 去除不可靠点markOccludedPoints4. 特征提取extractFeatures5. 点云发布publishCloud七、特征

2021-06-28 15:24:58 2518 2

原创 LeGO-LOAM源码解析3: featureAssociation(一)

featureAssociation.cpp解析一、概述二、main函数loam源码地址:https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.论文学习:【论文阅读】LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain.LeGO-LOAM源码解析汇总:LeGO-LOAM源码解析1 : 算法整体框架和utility.h.Le

2021-06-26 16:09:21 2650 1

原创 LeGO-LOAM源码解析2: imageProjection

imageProjection.cpp解析一、概述二、main函数三、ImageProjection类的私有对象四、ImageProjection类的构造函数五、初始化函数allocateMemory与resetParameters1. 内存分配allocateMemory2. 重置参数resetParameters六、回调函数cloudHandlerloam源码地址:https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.论文学习:【论文阅读】LeGO-

2021-06-25 17:17:37 3037 6

原创 LeGO-LOAM源码解析1 : 算法整体框架和utility.h

算法整体框架和utility.h解析一、算法框架与流程二、utility.h分析loam源码地址:https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.论文学习:【论文阅读】LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain.LeGO-LOAM源码解析汇总:一、算法框架与流程回顾论文,我们可以将整个代码的流程分为1

2021-06-24 12:14:19 3897 1

原创 【论文阅读】LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping

LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping本文主要是对LIO-SAM论文的一些学习总结,如有不对之处,希望大家提出宝贵的意见,共同进步~

2021-06-23 21:47:41 1550

原创 LIO-SAM:Ubuntu20.04下的编译与运行

ERROR: cannot launch node of type [robot_localization/ekf_localization_node]: robot_localizationROS path [0]=/opt/ros/noetic/share/rosROS path [1]=/home/miking/catkin_ws/srcROS path [2]=/opt/ros/noetic/shareERROR: cannot launch node of type [robot_loca

2021-06-22 21:57:59 5461 3

原创 CSDN Markdown编辑实用技巧(不断更新):图片居中,图片描述、添加空行等

CSDN Markdown编辑实用技巧(不断更新)一、图片处理1. 图片描述2. 图片位置摆放3. 图片大小二、空格或空行一、图片处理1. 图片描述在需要添加描述的在图片下方加入如下(注意:不需要添加代码块):<center><b><font size ='2'>图片描述</font></b></center></font>Markdown编辑示例:效果如下: 添加注释图1. 奔跑的小猪猪2. 图片

2021-06-22 16:28:25 1486

原创 【论文阅读】LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain

LOAM: LeGO-LOAM: Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain文章摘要一、简介本文主要是对LeGO-LOAM论文的一些学习总结,如有不对之处,希望大家提出宝贵的意见,共同进步~文章摘要作者提出了一种轻量级、基于地面优化的激光里程计和建图算法LeGo-Loam,能够地面物体的六自由度位姿估计。轻量级:能够在低功耗嵌入式系统中进行实时的位姿估计。基于地面优化:在分割和优化的

2021-06-21 20:38:07 3742

原创 LeGO-LOAM:Ubuntu20.04下的编译与运行

LeGO-LOAM在Ubuntu20.04下的编译与运行一、源码及数据集下载二、安装gtsam三、建立ROS工作空间四、LeGO-LOAM的编译五、LeGO-LOAM的运行六、可能会遇到的问题1. OpenCV 版本问题2.pcl问题(1) C++14环境(2) 报错:‘Index’ is not a member of ‘Eigen’3. 运行报错3. rviz问题参考链接:Loam:Ubuntu20.04下的编译与运行.Floam:Ubuntu20.04下的编译与运行.一、源码及数据集下载源码

2021-06-20 21:31:37 12672 21

原创 loam源码解析8 :transformMaintenance

laserMapping.cpp解析一一、概述二、变量说明三、信息接受处理三、信息接受处理loam源码地址:https://github.com/cuitaixiang/LOAM_NOTED.论文学习:LOAM: Lidar Odometry and Mapping in Real-time 论文阅读.loam源码解析汇总:loam源码解析1 : scanRegistration(一).loam源码解析2 : scanRegistration(二).loam源码解析3 : laserOdomet

2021-06-20 10:22:30 501

原创 loam源码解析7 : laserMapping(二)

laserMapping.cpp解析二五、获取点云与cube的对应关系1.粗略计算当前点云所在cube 索引2.调整计算当前点云所在cube 索引及地图中心索引(1) 宽度方向的移动(2) 高度方向的移动(3) 深度方向的移动六、通过对应cube得到领域内局部子图七、特征提取与匹配1. 边缘点特征对应局部子图直线2. 计算点到直线的距离及单位法向量3. 平面点特征对应局部子图平面与法向量计算八、迭代优化与更新1. 迭代优化2. 更新九、将特征点封装对应cube1. 封装边缘点:3. 对特征点云体素滤波:2.

2021-06-19 23:01:56 897

原创 loam源码解析6 : laserMapping(一)

laserMapping.cpp解析一loam源码地址:https://github.com/cuitaixiang/LOAM_NOTED.论文学习:LOAM: Lidar Odometry and Mapping in Real-time 论文阅读.loam源码解析汇总:loam源码解析1 : scanRegistration(一).loam源码解析2 : scanRegistration(二).loam源码解析3 : laserOdometry(一).loam源码解析4 : laserOd

2021-06-19 11:08:02 1237

原创 loam源码解析3 : laserOdometry(一)

laserOdometry.cpp解析一一、概述二、变量说明三、数据预处理1. 接受来自scanRegistration的ROS消息(1) laserCloudSharpHandler(2) laserCloudLessSharpHandler(3) laserCloudFlatHandler(4) laserCloudFlatHandler(5) laserCloudFullResHandler(6) imuTransHandler2. 定义ROS发布3. 创建相关的对象四、里程计初始化五、畸变去除1.去

2021-06-17 18:08:07 2030

原创 loam源码解析5 : laserOdometry(三)

laserOdometry.cpp解析三八、位姿估计1. 雅可比计算2. 矩阵求解3. 退化问题分析4. 姿态更新5. 坐标转换loam源码地址:https://github.com/cuitaixiang/LOAM_NOTED.论文学习:LOAM: Lidar Odometry and Mapping in Real-time 论文阅读.loam源码解析汇总:loam源码解析 : scanRegistration(一).loam源码解析 : scanRegistration(二).八、位姿估计

2021-06-17 18:05:31 1384 1

原创 loam源码解析4: laserOdometry(二)

laserOdometry.cpp解析二七、点云配准1.边缘点(线特征)处理2.平面点(面特征)处理loam源码地址:https://github.com/cuitaixiang/LOAM_NOTED.论文学习:LOAM: Lidar Odometry and Mapping in Real-time 论文阅读.loam源码解析汇总:loam源码解析 : scanRegistration(一).loam源码解析 : scanRegistration(二).七、点云配准当边缘点大于10,平面点数

2021-06-17 18:01:56 989

原创 loam源码解析1 : scanRegistration(一)

scanRegistration.cpp解析一、概述二、变量说明三、主函数三、点云回调函数laserCloudHandlerLOAM: Lidar Odometry and Mapping in Real-time 论文阅读: https://blog.csdn.net/weixin_44156680/article/details/117876839.loam源码:https://github.com/cuitaixiang/LOAM_NOTED.一、概述在阅读完loam的论文之后,开始对loam

2021-06-16 10:21:14 2043 2

原创 loam源码解析2 : scanRegistration(二)

scanRegistration.cpp解析二六、点云回调函数laserCloudHandler1 遍历点云中每一个点,进行校正1.1 如果收到IMU数据,使用IMU矫正点云畸变:1.2 将每个点放入对应线号的容器2 去除不靠点,提取特征点2.1 计算各个点云点的曲率2.2 筛选特征点2.3 提取特征点3 发布ROS消息LOAM: Lidar Odometry and Mapping in Real-time 论文阅读: https://blog.csdn.net/weixin_44156680/ar

2021-06-16 08:53:40 1167 2

原创 【论文阅读】LOAM: Lidar Odometry and Mapping in Real-time

LOAM: Lidar Odometry and Mapping in Real-time文章摘要一、简介二、相关工作三、符号和任务描述四、系统概述五、激光里程计5.1 特征提取5.2 特征匹配5.3 运动估计5.4 激光里程计算法六、建图本文主要是对loam论文的一些学习总结,如有不对之处,希望大家提出宝贵的意见,共同进步~文章摘要作者提出了一种实时的里程计和建图方法,该方法使用在6个自由度上移动的2轴激光雷达测量距离(作者使用单线激光雷达自制)。由于距离测量值的不同时性和运动畸变会导致点云的错误配

2021-06-14 17:48:24 2883 1

原创 Docker:Ubuntu20.04下的安装

Docker:Ubuntu20.04下的安装一、什么是Docker二、Docker的安装1. 卸载旧版本2.设置仓库(1) 更新 apt 包索引(2) 获取仓库(3) 添加 Docker 的官方 GPG 密钥(4) 验证是否拥有带有指纹的密钥(5) 设置稳定版仓库3.设置仓库安装 Docker Engine-Community(1) 更新 apt 包索引(2) 安装最新版本的 Docker Engine-Community 和 container4.测试三、以非root 用户管理 Docker1.将用户添加

2021-06-11 22:46:23 537

原创 Ubuntu 20.04 安装微信、QQ

Ubuntu 20.04 安装微信、QQ一、添加仓库二、 应用安装三、 常见问题1.没有应用图标2.字体相关问题四、 卸载清理1.清理应用运行时目录2.清理wine容器3.卸载软件包4.移除软件仓库github链接: https://github.com/zq1997/deepin-wine.一、添加仓库首次使用时,你需要运行如下一条命令将移植仓库添加到系统中。wget -O- https://deepin-wine.i-m.dev/setup.sh | sh运行之后会显示成功安装wine。

2021-06-10 17:54:41 2365 3

原创 Floam:Ubuntu20.04下的编译与运行

Floam在Ubuntu20.04下的编译与运行一、源码及数据集下载二、安装ceres三、Floam的运行四、可能会遇到的问题1.ROS支持C++14参考链接: Loam:Ubuntu20.04下的编译与运行.一、源码及数据集下载源码链接: https://github.com/wh200720041/floam.git.数据集链接:https://drive.google.com/file/d/1_qUfwUw88rEKitUpt1kjswv7Cv4GPs0b/view.将下载好的源码放入建立好

2021-06-09 17:28:28 2050 3

原创 Loam:Ubuntu20.04下的编译与运行

Loam在Ubuntu20.04下的编译与运行一、源码及数据集下载二、建立ROS工作空间三、Loam的运行四、可能会遇到的问题1. OpenCV 版本问题2.camera_init话题问题3.rviz显示点云不正确问题一、源码及数据集下载LOAM中文注解版与相关论文: https://github.com/cuitaixiang/LOAM_NOTED.NSH indoor outdoor 数据集: https://drive.google.com/file/d/1s05tBQOLNEDDurlg48K

2021-06-09 12:23:54 3345 6

原创 惯性导航(IMU)误差分析

惯性导航(IMU)误差分析一、姿态误差分析1.写出不考虑误差时的微分方程2.写出考虑误差时的微分方程3.写出真实值与理想值之间的关系(1)姿态误差的引入(2)imu角速度误差的引入(3)关联误差的引入4.把真实值与理想值之间的关系,带入误差时的微分方程5.把第一步中不考虑误差时的微分方程带入第四步方程6.简化方程二、速度误差分析三、位置误差分析一、姿态误差分析1.写出不考虑误差时的微分方程以“东-北-天(E-N-U)”坐标系为导航坐标系(n系)“右-前-上”坐标系为(b系)时,姿态微分方程可以表示为

2021-06-02 22:59:14 9170 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除