SLAM相关工具与算法文章介绍

持续更新,有好的文章大家可以评论补充…

(1)自动驾驶系列:激光雷达建图和定位(NDT)

来源:https://zhuanlan.zhihu.com/p/77623762
https://mp.weixin.qq.com/s/Kf9GMy-EURf5cNnltHjX-w

简介:
  传统的AGV使用一类SLAM(simultaneous localization and mapping)的方法进行同时建图和定位,但是该方法实现代价高,难度大,难以应用到自动驾驶领域。自动驾驶车辆行驶速度快,距离远,环境复杂,使得SLAM的精度下降,同时远距离的行驶将导致实时构建的地图偏移过大。因此,如果在已有高精度的全局地图地图的情况下进行无人车的定位,将极大的简化该问题。
  因此,将问题分为独立的两部分:建图Mapping和定位Matching。NDT是一种点云配准算法,可同时用于点云的建图和定位。
NDT具有以下的特征:
·支持更大的地图,更稠密的点云 --因为最终还是要划分成voxel的形式
·相比于ICP等基于点的匹配算法,速度更快
·更加容忍环境的细微变化
参考论文:The Normal Distributions Transform: A New Approach to Laser Scan Matching

算法实现:
AutoWare是由日本名古屋大学和Tier IV主导的全栈开源自动驾驶系统,其core_percepetion模块中对ndt_mapping和ndt_localization进行了很好的实现

(2)nanoflann库

简介:
https://mp.weixin.qq.com/s/M8JINZXwxChurziuDUCZqg
nanoflann是一个c++11标准库,用于构建具有不同拓扑(R2,R3(点云),SO(2)和SO(3)(2D和3D旋转组))的KD树。nanoflann不需要编译或安装。你只需要#include <nanoflann.hpp>在你的代码中。 nanoflann 算法对fastann进行了改进,效率以及内存使用等方面都进行了优化,而且代码十分轻量级且开源,是一个不错的选择。
工程代码下载地址 :
https://github.com/jlblancoc/nanoflann

(3)国内优质的数据集「极速」下载平台

介绍:
https://mp.weixin.qq.com/s/ALqhpYYnWcNsBYFY2Ad5dw
目前,**Graviti Open Dataset(格物钛)**已收录1100+个高质量人工智能数据集。提供一站式检索、高速下载,免费贡献学术社区。
覆盖2D/3D目标检测、图像分割、图像分类、目标跟踪、OCR、姿态估计、无人驾驶、智慧零售、机器人等多种AI应用领域。
网址:
https://www.graviti.cn/
在这里插入图片描述

(4)DToF技术原理

文章地址:
https://mp.weixin.qq.com/s/uNV8MSoyM2Zn37xTENwJLw

(5)g2o使用总结

链接:
https://mp.weixin.qq.com/s/ykO8_XF_e5YgNVtzOIlBhg
需要解决的问题:
如何自定义Vertex和Edge?
如何选择Edge类型?一元还是二元?
如何赋值信息矩阵?
如何设置鲁棒核函数的阈值?
如何选择Vertex设置为固定?
如何边缘化以便稀疏化求解?
如何处理优化结束后outliner?
如何设置根据卡方分布的临界值表对Edge的chi2设置阈值

(6)g2o、Eigen、Mat矩阵类型转换

https://mp.weixin.qq.com/s/fU01fHuvkSqS46D310hrFg

(7)3D结构光摄像头深度算法介绍

本篇文章分为两个章节:第一章前言回顾3D成像(双目、主动式双目、结构光)的发展历史与渊源;第二章重点介绍主动式双目系统与散斑结构光系统的算法细节与难点挑战。
文章链接:
https://mp.weixin.qq.com/s/Z4uDGI9yu_qLWHCe_it0Gg

(8)TeaseR++:快速鲁棒的C++点云配准库

本文提出了一种快速鲁棒的点云配准算法,对存在离群噪声点的点云数据具有较好的配准效果。首先使用了截断最小二乘(Truncated Least Squares TLS)代价函数重新构造配准问题 ,该代价是的估计点对时能够对大部分的不正确的对应点不加入计算,然后使用了一个通用的图论框架来分离尺度,旋转和平移,从而允许对这三个变换矩阵进行级联求解,尽管这三个矩阵在本质上仍然是非凸的组合函数,但是论文中:
(1)LTS尺度和平移估计可以通过自适应的投票方法求解多项式的解
(2)LTS旋转估计矩阵是被认为符合semidefinite program(SDP),即便在极端异常的数据中也是符合的。所以该 算法是被命令为TEASER(Truncated least squares Estimation And SEmidefinite Relaxation)

TeaseR++是一个用C++的快速、鲁棒的点云配准库,具有Python和Matlab接口。
github:https://github.com/MIT-SPARK/TEASER-plusplus
教程介绍链接:
https://mp.weixin.qq.com/s/yHtScEFp7NvulCJ6jO8fCw

(8)ROS与PCL中点云数据之间的转换

文章链接:
https://mp.weixin.qq.com/s/akqAAKQIWe6ua6NRkRSW4Q
PCL是随着ROS的而出现的三维点云处理的库,很多做机器人的朋友一定不陌生,这里将首先介绍在PCL库中经常使用的两种点云之间的转换,这里将根据工程中的经验,从代码层面举例分析如何实现程序中定义的各种点云数据之间转换,并且介绍PCL在应用于ROS中应该如何转换数据结构。

猜你喜欢

转载自blog.csdn.net/qq_21830903/article/details/109678367
今日推荐