激光SLAM
文章平均质量分 83
目前主流的激光SLAM的讲解,包括论文与代码的详细介绍。
李太白lx
公众号: 从零开始搭SLAM
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LIO-SAM探秘之文章索引
本节为索引页,无算法内容。1 LIO-SAM探秘第一章之论文解析 https://blog.youkuaiyun.com/tiancailx/article/details/1094834502 LIO-SAM探秘第二章之安装编译与参数配置 https://blog.youkuaiyun.com/tiancailx/article/details/1094871733 LIO-SAM探秘第三章之代码解析(一) — utility.h + imageProjection.cpp https://blog.youkuaiyun.com/原创 2020-11-11 16:13:09 · 1515 阅读 · 6 评论
-
cartographer探秘之文章索引
本节为索引页,无算法内容。1cartographer探秘第一章之参数配置https://blog.youkuaiyun.com/tiancailx/article/details/907575222cartographer探秘第二章之论文解析https://blog.youkuaiyun.com/tiancailx/article/details/927962743cartographer探秘...原创 2020-04-10 17:19:50 · 2838 阅读 · 0 评论
-
karto探秘之文章索引
本节为索引页,无算法内容。1 karto探秘之slam_karto : https://blog.youkuaiyun.com/tiancailx/article/details/1040045592karto探秘之open_karto 第一章 --- 数据结构 : ...原创 2020-04-10 17:09:28 · 3304 阅读 · 0 评论
-
从零开始搭二维激光SLAM --- 文章索引
本节为索引页,无算法内容。1 从零开始搭二维激光SLAM — 序章https://blog.youkuaiyun.com/tiancailx/article/details/1097772762 从零开始搭二维激光SLAM — 前言https://blog.youkuaiyun.com/tiancailx/article/details/1099876303 从零开始搭二维激光SLAM — 写作计划https://blog.youkuaiyun.com/tiancailx/article/details/1100962634 从原创 2020-12-07 17:06:24 · 9555 阅读 · 4 评论 -
零基础如何入门激光SLAM
杂谈最近有几个人加我,都说是刚开始学激光slam,基本都是研一,情况也都差不多,有的是课题组里只有自己做slam,有的是完全没人带,自己也没有基础.仔细想一想,其实入门slam真是个不容易的事.首先,编程语言,大多数使用c++,少数用python,c++你得至少能写个小demo吧.知道了如何写c++,还要准备编译环境吧,由于编译以及依赖等问题,做slam基本都用linux,还得知道如何使用ubuntu的命令行,知道怎么编译代码.关于机器人相关的大部分代码都使用ros做接口,因为接口统一,使用方式统原创 2020-12-21 13:58:54 · 22019 阅读 · 31 评论 -
karto探秘之open_karto 第四章 --- 回环检测与后端优化
1 Mapper::Process() kt_bool Mapper::Process(LocalizedRangeScan* pScan) { // 省略... if (m_pUseScanMatching->GetValue()) { // add to graph m_pGraph->AddVertex(pScan); //边是具有约束关系的两个顶点,在 AddEdges中的操作有: 寻找可以原创 2021-05-21 10:23:31 · 2444 阅读 · 0 评论 -
Hector代码笔记
1 入口hector_mapping/src/HectorMappingRos.cpp1.1 scanCallback()/** * 激光数据处理回调函数,将ros数据格式转换为算法中的格式,并转换成地图尺度,交由slamProcessor处理。 * 算法中所有的计算都是在地图尺度下进行。 ROS部分的内容根据实际需求添加删减 * @param scan 激光的数据ROS消息包 */void HectorMappingRos::scanCallback(const sensor_msgs原创 2021-01-22 17:59:25 · 1237 阅读 · 1 评论 -
LIO-SAM探秘第三章之代码解析(五) --- imuPreintegration.cpp
1 main()int main(int argc, char** argv){ ros::init(argc, argv, "roboat_loam"); IMUPreintegration ImuP; TransformFusion TF; ROS_INFO("\033[1;32m----> IMU Preintegration Started.\033[0m"); ros::MultiThreadedSpinner spinne原创 2020-11-16 15:10:28 · 2065 阅读 · 0 评论 -
LIO-SAM探秘第三章之代码解析(四) --- mapOptmization.cpp (2)
1 main()int main(int argc, char **argv){ ros::init(argc, argv, "lio_sam"); mapOptimization MO; ROS_INFO("\033[1;32m----> Map Optimization Started.\033[0m"); // 两个线程,一边按固定的频率进行回环检测、添加约束边,另外一边进行地图发布和保存 std::thread loopthread(&原创 2020-11-11 15:57:52 · 1143 阅读 · 0 评论 -
LIO-SAM探秘第三章之代码解析(三) --- mapOptmization.cpp (1)
1 main()可见int main(int argc, char **argv){ ros::init(argc, argv, "lio_sam"); mapOptimization MO; ROS_INFO("\033[1;32m----> Map Optimization Started.\033[0m"); // 两个线程,一边按固定的频率进行回环检测、添加约束边,另外一边进行地图发布和保存 std::thread loopthread(&a原创 2020-11-11 14:28:47 · 2139 阅读 · 0 评论 -
LIO-SAM探秘第三章之代码解析(二) --- featureExtraction.cpp
1 main()int main(int argc, char** argv){ ros::init(argc, argv, "lio_sam"); FeatureExtraction FE; // \033[1;32m,\033[0m 终端显示成绿色 ROS_INFO("\033[1;32m----> Feature Extraction Started.\033[0m"); ros::spin(); // 一个线程 retur原创 2020-11-09 11:12:36 · 3005 阅读 · 0 评论 -
LIO-SAM探秘第三章之代码解析(一) --- utility.h + imageProjection.cpp
1 CMakelist.txt 与 package.xml1.1 package.xmlpackage.xml 里的依赖:除了ros的常规依赖外,还有cv_bridge, pcl_conversions, GTSAM 三者。1.2 CMakelist.txtCMaKelist.txt里还指明了其他的依赖。find_package(OpenMP REQUIRED)find_package(PCL REQUIRED QUIET)find_package(OpenCV REQUIRED QUIET)原创 2020-11-04 17:25:10 · 2872 阅读 · 3 评论 -
LIO-SAM探秘第二章之安装编译与参数配置
1 安装1.1 依赖的安装1.1.1 安装ROS相关的依赖ROS的版本为Kinetic and Melodicsudo apt-get install -y ros-kinetic-navigationsudo apt-get install -y ros-kinetic-robot-localizationsudo apt-get install -y ros-kinetic-robot-state-publisher1.1.2 编译gtsam (Georgia Tech Smoothin原创 2020-11-04 13:20:02 · 4118 阅读 · 0 评论 -
LIO-SAM探秘第一章之论文解析
LIO-SAM:经由平滑和建图实现的紧耦合激光雷达惯性里程计注意:通读文章后发现整篇文章没啥实质性的东西,慎读。。。此链接是文章的主要内容的摘要,强烈推荐https://blog.youkuaiyun.com/unlimitedai/article/details/107378759#t2代码的链接为:https://github.com/TixiaoShan/LIO-SAM论文的链接为:https://github.com/TixiaoShan/LIO-SAM/blob/master/config/do翻译 2020-11-04 11:25:35 · 9252 阅读 · 0 评论 -
karto探秘之open_karto 第五章 --- 栅格地图的生成
slam_karto中的updateMap()调用了karto::OccupancyGrid::CreateFromScans()生成了栅格地图,这篇文章就讲一下栅格地图如何生成的。boolSlamKarto::updateMap(){ boost::mutex::scoped_lock lock(map_mutex_); karto::OccupancyGrid*...原创 2020-04-16 17:11:26 · 1518 阅读 · 0 评论 -
karto探秘之open_karto 第二章 --- 参数解析
参数说明来源于 Mapper.cpp 中的voidMapper::InitializeParameters() 方法。 m_pUseScanMatching = new Parameter<kt_bool>( // 使用扫描匹配方法进行匹配0 "UseScanMatching", "When set to tru...原创 2020-04-08 10:38:09 · 1362 阅读 · 0 评论 -
karto探秘之open_karto 第三章 --- 扫描匹配
kt_bool Mapper::Process(LocalizedRangeScan* pScan) kt_bool Mapper::Process(LocalizedRangeScan* pScan) { if (pScan != NULL) { karto::LaserRangeFinder* pLaserRangeFinder = pSca...原创 2020-04-02 10:54:54 · 3236 阅读 · 1 评论 -
karto探秘之open_karto 第一章 --- 数据结构与类的初始化
1 抽象类 Sensor这个类为抽象类,无具体实现,只有一个成员变量Parameter<Pose2>*m_pOffsetPose; 这个变量定义了雷达坐标系与base_link间的偏差2 classLaserRangeFinder:publicSensor这个类继承Sensor,定义了激光雷达数据的各个参数,如 最大最小距离,最大最小角度,角度分辨...原创 2020-04-03 14:51:16 · 2311 阅读 · 0 评论 -
karto探秘之slam_karto
kt_bool Mapper::Process(LocalizedRangeScan* pScan) kt_bool Mapper::Process(LocalizedRangeScan* pScan) { if (pScan != NULL) { karto::LaserRangeFinder* pLaserRangeFinder = pSca...原创 2020-01-16 14:52:04 · 3179 阅读 · 0 评论 -
EKF_SLAM一般过程
SLAM,同步定位与地图构建,本文将介绍基于EKF的SLAM的整体过程。1 EKF_SLAM Overview当机器人处在个未知环境中时,他最想知道的就是他在当前环境中的位置。环境不知道咋办,通过传感器获得,如里程计,激光雷达,摄像头等。机器人收到的数据是相当多的,但是并不是所有的数据都可以用来定位。首先需要在这些传感器信息中提取出地标,然后根据这些地标进行卡尔曼滤波的原创 2017-12-13 10:46:15 · 18715 阅读 · 5 评论 -
基于粒子滤波的SLAM(GMapping)算法分析
本文是《Improved Techniques for Grid Mapping_with Rao-Blackwellized Particle Filters》的大致翻译,难免有不通顺与错误的地方,如有错误请指出,谢谢!设想一个机器人在一个未知环境中移动,其目的是获得当前环境的地图。地图可以用一个储存每个网格单元颜色的矩阵表示,单元格的颜色只能为黑色或白色。由于传感器与电机都存在误差,运动...翻译 2017-11-21 12:57:42 · 49471 阅读 · 4 评论 -
GMapping源码分析之随手笔记
GMapping代码分析的随手笔记记载如下:参考博客: http://blog.youkuaiyun.com/roadseek_zw/article/details/53316177 gmapping分析都说最好的理解就是说出来让别人听懂,所以我也写下我的分析来加深自己的理解,同时给刚刚入门的同学们带个头。这一篇是我对gmapping源码的分析与理解(刚入门,难免有错,欢迎指正,相互学习)。...原创 2017-09-26 09:51:13 · 6651 阅读 · 0 评论
分享