定位、地图建立及管理合集

news2024/10/12 0:33:09

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
TODO:写完再整理

文章目录

  • 系列文章目录
  • 前言
  • 机器人中常见的定位技术介绍
    • 一、直方图定位原理
    • 二、gnss、rtk定位原理
    • 三、【依赖二维激光雷达与全局地图的定位算法】amcl(蒙特卡洛)粒子滤波定位算法
    • 四、【依赖高精度点云地图和三维激光雷达的定位方案】正态分布变换(NDT)定位及建图
    • 五、ICP(迭代最近点)定位算法
    • 六、robot_pose_ekf扩展卡尔曼位姿估计算法
    • 七、【autoware定位模块】
    • 八、一些入门的定位开源工程
  • 机器人地图建立及管理导读
    • 一、地图的理解及地图的类型介绍
    • 二、地图SLAM构建基础理解
    • 三、构建地图准备
      • 点云数据处理
        • 直通滤波器
        • 半径滤波器
        • 体素滤波器
        • 均匀采样滤波
        • 统计滤波器
        • 条件滤波器
        • 双边滤波器
    • 四、构建特征点云地图--2D激光雷达地图构建介绍
      • 二维全局地图的开源方案及对比--gmapping、hector、karto、cartographer
    • 五、构建特征点云地图--3D激光雷达地图构建介绍
      • 【依赖高精度点云地图和三维激光雷达的定位方案】正态分布变换(NDT)定位及建图
      • 三维全局地图的开源方案及对比--NDT、LOAM、LIO-SAM、ALOAM、FLOAM、Lego_loam、SC-Lego-LOAM
    • 六、构建特征点云地图--视觉SLAM介绍
      • 视觉SLAM全局地图的开源方案及对比--rgbdslam、ORB_SLAM、RTAB SLAM
    • 七、代价栅格地图costmap的介绍
      • 第一章:costmap_2d代价地图生成原理
      • 第二章:二维占据栅格地图costmap生成方法及源码解析
    • 八、vector_map矢量化地图的生成
    • 九、通过栅格地图,目标路径(目标点)建立距离场地图
    • 十、autoware高精度地图模块demo
      • 十一、【规控+slam】探索建图方案及代码分享
    • 其他知识
      • 【地图mapping】视觉SLAM--李群与李代数理论
      • 【局部地图建立mapping】PCL点云处理建立局部占据及代价地图的方法


前言

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!

本文先对定位、地图合集做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章


提示:以下是本篇文章正文内容

机器人中常见的定位技术介绍

在现代导航与定位技术中,我们通常采用多种理论和方法来实现精确的位置估计。这些方法大体上可以归纳为基于地图的定位、基于滤波器融合的定位以及基于图优化的定位。

https://blog.csdn.net/qq_35635374/article/details/131841432
https://blog.csdn.net/qq_35635374/article/details/120958108

一、直方图定位原理

直方图定位是一种基于概率的方法,它通过对状态空间进行离散化处理来实现定位。
https://blog.csdn.net/qq_35635374/article/details/138793299

二、gnss、rtk定位原理

GNSS(全球导航卫星系统)定位基于从多颗卫星接收的信号,而RTK(实时动态差分技术)则是一种提高GNSS定位精度的方法
https://blog.csdn.net/qq_35635374/article/details/124555256

三、【依赖二维激光雷达与全局地图的定位算法】amcl(蒙特卡洛)粒子滤波定位算法

AMCL(自适应蒙特卡洛定位)是一种基于粒子滤波器的概率定位系统,广泛应用于机器人在二维环境中的定位。介绍amcl(蒙特卡洛)粒子滤波定位算法,包括蒙特卡罗方法原理、amcl定位节点的订阅与发布、amcl定位功能包用法、amcl定位程序源码、处理amcl全局定位失败的工程经验等等
https://blog.csdn.net/qq_35635374/article/details/120960257

四、【依赖高精度点云地图和三维激光雷达的定位方案】正态分布变换(NDT)定位及建图

正态分布变换(Normal Distributions Transform,简称NDT)定位及建图算法是一种广泛应用于机器人定位和地图构建领域的算法。本文将对NDT定位解决的主要问题、核心思想以及算法流程进行详细介绍。
https://blog.csdn.net/qq_35635374/article/details/121786885

五、ICP(迭代最近点)定位算法

ICP(Iterative Closest Point)定位算法是一种广泛应用于计算机视觉和机器人领域的算法,主要用于求解两个点集之间的空间变换问题。ICP算法的核心思想是通过迭代的方式,寻找两个点集之间的最近点对应关系,从而计算它们之间的最优刚体变换。
本文介绍ICP(迭代最近点)定位算法,包括ICP算法原理、ICP算法代码实现、ICP算法优缺点分析
https://blog.csdn.net/qq_35635374/article/details/138506177

六、robot_pose_ekf扩展卡尔曼位姿估计算法

介绍robot_pose_ekf扩展卡尔曼位姿融合估计算法,包括EKF工作原理、配置robot_pose_ekf的ROS功能包launch及robot_pose_ekf的效果。
https://blog.csdn.net/qq_35635374/article/details/120960189
扩展卡尔曼的相关知识看看传感器融合的专栏

七、【autoware定位模块】

介绍autoware定位模块,包括先介绍一个较通用的定位流程、再详细介绍三个定位相关的功能包(gnss_localizer的GPS定位解析功能包、Ndt_cpu的NDT算法原理功能包、NDT_matching定位集成功能包),最后介绍在高精度地图中实现组合定位。
https://blog.csdn.net/qq_35635374/article/details/124540935

八、一些入门的定位开源工程

介绍一些入门的定位开源工程,包括在ROSgazebo仿真系统的物理引擎提供的定位、ROS中robot_localization工程方案、autoware的三种定位方式
https://blog.csdn.net/qq_35635374/article/details/139009741

机器人地图建立及管理导读

一、地图的理解及地图的类型介绍

在一个导航系统中,地图的主要作用是给决策规划提供先验的环境数据,在一个复杂的导航系统中,地图分为多个层级,包括高精度点云图层、语义图层、可视化图层、其他形式图层等。

不同层级的地图存储并更新不同类型的数据,因此不同层级的地图往往使用不同的地图格式,包括特征点云地图、矢量地图、语义地图、二维占据地图、二维代价地图、三维八叉树地图、ESDF Map欧氏距离场地图等等。

总的来说,我们可以认为地图就是一个巨大的数据结构,不同的地图格式本质就是使用不同数据结构存储和更新环境信息。本文先介绍常用的地图格式,了解不同地图格式的特性和功能。针对不同的地图格式,地图的建立和更新方法在下面章节进行介绍。
https://blog.csdn.net/qq_35635374/article/details/120960481

二、地图SLAM构建基础理解

介绍地图构建的相关知识,包括地图模块与感知模块、地图模块与定位模块、地图模块与决策模块、地图模块与路径规划模块的关系和交互,不同模块的交互方式决定了一个导航架构的基本构型,进而影响技术方案和业务效果,所以从地图模块出发理解导航是一个很不错的出发点。

作为引入,可从构建地图的过程比喻、SLAM的实现要解决的问题、SLAM的传感器选型等等方面进行介绍。
https://blog.csdn.net/qq_35635374/article/details/120978752

三、构建地图准备

构建地图需要感知与传感器的支持,简述激光传感器的选型与地图构建的选型问题、与点云数据的后处理问题
https://blog.csdn.net/qq_35635374/article/details/120979417

点云数据处理

1、点云数据密度不规则需要平滑处理
2、去除因为遮挡等问题造成离群点
3、数据量较大,需要进行下采样( Downsample)
4、去除噪声数据。
直通滤波器

作用是在指定的维度方向上保留特定值域内的点,同时过滤掉不在这个范围内的点。这种方法特别适用于消除背景噪声或初步裁剪点云数据集,以限定在特定的感兴趣区域(ROI)内。
https://blog.csdn.net/qq_35635374/article/details/141361362

半径滤波器

用于识别并移除点云数据中离群点的一种有效方法
https://blog.csdn.net/qq_35635374/article/details/141363856

体素滤波器

体素滤波器是一种下采样的滤波器,它的作用是使用体素化方法减少点云数量,采用**体素格中接近中心点的点替代体素内的所有点云,是会移动点的位置。**这种方式即减少点云数据,并同时保存点云的形状特征,在提高配准,曲面重建,形状识别等算法速度中非常实用。
https://blog.csdn.net/qq_35635374/article/details/141333547

均匀采样滤波

相较于体素滤波,均匀采样滤波计算出的最终结果点云,不改变点云点的位置,保持其原始形态。均匀采样滤波因为有质心点复原到体素块这一步,因此速度会比体素滤波更慢些。
https://blog.csdn.net/qq_35635374/article/details/141362926

统计滤波器

统计滤波器用于去除点云数据中离群点的一种滤波方法。它通过统计分析技术来识别并移除那些与周围点距离较远的离群点,这些离群点可能是由于测量误差或其他原因产生的噪声点。
https://blog.csdn.net/qq_35635374/article/details/141363316

条件滤波器

用于根据特定条件筛选点云数据的一种方法。它通过设定一个或多个条件,对点云中的每个点进行评估,仅保留满足这些条件的点。
https://blog.csdn.net/qq_35635374/article/details/141364222

双边滤波器

双边滤波器的工作原理是基于空间邻近度和值相似度的加权平均。它对每个点的邻域内的点进行加权平均处理
https://blog.csdn.net/qq_35635374/article/details/141364500

四、构建特征点云地图–2D激光雷达地图构建介绍

介绍2D激光雷达的构建特征点云地图的相关知识
首先,介绍2D激光SLAM建图算法的发展,依次经历了使用基于滤波器的方法建图、使用基于图优化的方法建图、使用基于已知位姿的方法建图、使用基于激光融合视觉的建图方法等等。
再介绍了SLAM的关键技术,如SLAM建图的输入数据与输出数据、SLAM的后端回环检测方法等等。
https://blog.csdn.net/qq_35635374/article/details/120979524

二维全局地图的开源方案及对比–gmapping、hector、karto、cartographer

依次介绍构建二维全局地图的开源算法方案,包括gmapping算法、hector算法、karto算法、cartographer算法。
分别从算法原理、算法流程、工程框架解析机部署三个方面对上述算法进行详细介绍,最后对2D的SLAM方案进行对比。
https://blog.csdn.net/qq_35635374/article/details/121000952

五、构建特征点云地图–3D激光雷达地图构建介绍

介绍3D激光雷达的构建特征点云地图的相关知识

首先,介绍3D激光SLAM建图算法的发展,依次经历了使用LOAM-纯激光,匀速运动假设,无回环(Lidar Odometry And Mapping(LOAM))的方法建图、使用V-LOAM-视觉激光融合、漂移匀速假设,无回环的方法建图、使用VELO-视觉激光融合,无运动畸变假设,有回环的方法建图方法等等。

再介绍了SLAM的关键技术,如SLAM建图的输入数据与输出数据、3D激光里程计(作为一个3d建图前端存在的)、3D激光SLAM的前端帧间匹配Tracking方法、3D激光SLAM的后端回环检测方法等等。
https://blog.csdn.net/qq_35635374/article/details/120981832

【依赖高精度点云地图和三维激光雷达的定位方案】正态分布变换(NDT)定位及建图

介绍正态分布变换(NDT)定位及建图的方法,包括正态分布变换(NDT)定位解决的主要问题、正态分布变换(NDT)定位的核心思想、NDT算法流程、NDT配准的C++源码实现。

https://blog.csdn.net/qq_35635374/article/details/121786885

三维全局地图的开源方案及对比–NDT、LOAM、LIO-SAM、ALOAM、FLOAM、Lego_loam、SC-Lego-LOAM

依次介绍构建三维全局地图的开源算法方案,包括NDT算法、LOAM算法、LIO-SAM算法、ALOAM算法、FLOAM算法、Lego_loam算法、SC-Lego-LOAM算法、V-LOAM算法等等,最后对2D的SLAM方案进行对比。

https://blog.csdn.net/qq_35635374/article/details/121002668

六、构建特征点云地图–视觉SLAM介绍

介绍的视觉SLAM构建特征点云地图的相关知识
首先,介绍了视觉SLAM的数学理论,如点与坐标系的位置关系表达的运动学基础、李群与李代数、相机观测模型与非线性优化等等
然后,介绍了视觉SLAM的关键技术,如前端里程计(Visual Odometry)、后端优化(Optimization)、回环检测(Loop Closing)、建图(Mapping)等等。
最后,列举SLAM众多的开源方案类型
https://blog.csdn.net/qq_35635374/article/details/121000052

视觉SLAM全局地图的开源方案及对比–rgbdslam、ORB_SLAM、RTAB SLAM

依次介绍常用的视觉SLAM的开源算法方案,包括rgbdslam算法、ORB_SLAM算法、RTAB SLAM算法
https://blog.csdn.net/qq_35635374/article/details/121003037

七、代价栅格地图costmap的介绍

代价栅格地图costmap是机器人常用与路径规划的地图,本文介绍costmap_2d代价地图生成理论及costmap_2d功能包源码工程解读

第一章:costmap_2d代价地图生成原理

https://blog.csdn.net/qq_35635374/article/details/120874817

第二章:二维占据栅格地图costmap生成方法及源码解析

https://blog.csdn.net/qq_35635374/article/details/120918847

八、vector_map矢量化地图的生成

vector_map矢量化地图常用于车道级的自动驾驶中,本文介绍vector_map矢量化地图的生成方法及步骤,包括传感器采集、vector_map地图构建及服务、地图信息的传递、地图数据包获取等等

https://blog.csdn.net/qq_35635374/article/details/120920983

九、通过栅格地图,目标路径(目标点)建立距离场地图

介绍一种地图转换的案例,把代价栅格地图转化成距离场地图,详细介绍了实现原理及源码实现
https://blog.csdn.net/qq_35635374/article/details/134653666

十、autoware高精度地图模块demo

autoware高精度地图模块为例,介绍导航中式如何构建和使用一个地图模块的。

地图就是一种数据结构,地图格式就是用不同的数据类型和数据结构把地图信息存储起来,所以解析地图必须由标准的地图格式(如把csv转换成ros_topic)

介绍构建高精度地图步骤,包括先通过上文介绍的SLAM方法建立特征点云地图(一般式稠密点云),再通过特征点云地图,标注制作语义信息,构建vector_map语义地图、通过点云地图建立栅格代价costmap地图、最后把特征点云地图、栅格代价costmap地图与vector_map语义地图作为不同层级生成高精度地图等等。

作为扩展,再介绍一些规划用到的地图格式、vector_map语义地图制作工具、栅格地图处理等等拓展
https://blog.csdn.net/qq_35635374/article/details/124539162

十一、【规控+slam】探索建图方案及代码分享

https://blog.csdn.net/qq_35635374/article/details/142532077

其他知识

【地图mapping】视觉SLAM–李群与李代数理论

介绍李群与李代数理论,包括群(集合+运算)、李群与李代数定义、指数映射与对数映射、李代数求导与扰动模型(SLAM的定位即位姿估计)、李群和李代数Sophus库的使用等等

https://blog.csdn.net/qq_35635374/article/details/121181552

【局部地图建立mapping】PCL点云处理建立局部占据及代价地图的方法

介绍通过点云数据建立栅格代价costmap地图的方法、ROS的map_server与自定义工具进行costmap地图的保存与加载。
https://blog.csdn.net/qq_35635374/article/details/122126236


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2206360.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年诺贝尔物理学奖2

2024年,诺贝尔物理学奖没有颁给物理学家,而是给了两位计算机科学家,他们发明了神经网络,这项技术是人工智能的基础。这表明物理学和计算机科学的联系越来越紧密。获奖者约翰霍普菲尔德和杰弗里辛顿在神经网络方面做出了巨大的贡献…

探秘纯前端Excel表格:构建现金流量表的完整指南

最新技术资源(建议收藏) https://www.grapecity.com.cn/resources/ 现金流量表(Cash Flow Statement),是指反映企业在一定会计期间现金和现金等价物流入和流出的报表。现金流量表是企业财务报表的三个基本报告之一&…

LeetCode.611有效三角形的个数

题目链接611. 有效三角形的个数 - 力扣(LeetCode) 1.常规解法(会超时) 由于构成三角形的条件为两边之和大于第三边,就可以遍历该数组,找到所有满足这个条件的三元组,代码如下: pub…

【排序算法】快速排序、冒泡排序

文章目录 快速排序1.hoare版本(左右指针法)时间复杂度、空间复杂度分析优化——三数取中法2.挖坑法3.前后指针版本优化:小区间优化快速排序非递归代码——借助栈 冒泡排序时间复杂度 快速排序 1.hoare版本(左右指针法&#xff09…

生成式专题的第二节课--DCGAN

一、DCGAN基础概念 DCGAN(Deep Convolutional Generative Adversarial Network,即深度卷积生成对抗网络),于2016年提出,是一种深度学习模型,是生成对抗网络(GAN)的一种变体&#xf…

国产 HDMI 发送芯片,兼容 HDMI1.4b 及 HDMI 1.4b 下的视频 3D 传输格式。

最高分辨率高达 4K30Hz,最高采样率达到 300MHz.支持 YUV 和 RGB 之间的色彩空间转 换,数字接口支持 YUV 以及 RGB 格式输入的 IIS 接口以及 S/PDIF 接口支持高清音频的 传输,其中 S/PDIF 接口既可以兼容IEC61937 标准下的压缩音频传输&#x…

图像增强——传统算法伽马校正实现暗光增强(附Python代码)

💪 专业从事且热爱图像处理,图像处理专栏更新如下👇: 📝《图像去噪》 📝《超分辨率重建》 📝《语义分割》 📝《风格迁移》 📝《目标检测》 📝《图像增强》 &a…

OpenSearch迁移方案

一、背景 因业务需要迁移Opensearch 集群,当前集群数据量高达21TB,采用常规工具进行迁移估计不可取,需要使用对象存储做中转,进行OpenSearch数据迁移。 二、OpenSearch迁移方案 前期进行OpenSearch数据迁移调研 序号方案诠释备…

java项目之科研工作量管理系统的设计与实现源码(springboot+vue+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的科研工作量管理系统的设计与实现。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 科研工作…

介绍Java

Java简介 Java是一门由Sun公司(现被Oracle收购)在1995年开发的计算机编程语言,其主力开发人员是James Gosling,被称为Java之父。Java在被命名为“Java”之前,实际上叫做Oak,这个名字源于James Gosling望向…

Basic Pentesting_ 2靶机渗透

项目地址 plain https://download.vulnhub.com/basicpentesting/basic_pentesting_2.tar.gz 修改静态ip 开机按e 输入rw signie init/bin/bash ctrlx 进入编辑这个文件 vi /etc/network/interfaces修改网卡为ens33 保存退出 实验过程 开启靶机虚拟机 ![](https://img-bl…

paimon,基础查询语句测试

基础设置 -- 创建catalog/加载catalog,如果这个catalog已经存在就不会创建,自动加载元数据信息CREATE CATALOG fs_paimon_catalog WITH ( type paimon, warehouse hdfs://wsl01:8020/paimon/catalog ); -- 使用catalog use catalog fs_paimon_catalog…

Java中二维数组-杨辉三角

使用二维数组打印一个10行杨辉三角 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1)第一行有1个元素,第n行有n个元素 2)每一行的第一个元素和最后一个元素都是1 3)从第三行开始,对于非第一个元素和最后一个元素的元素…

差分注意力,负注意力的引入

文章目录 Differential Transformer差分注意力,负注意力的引入相关链接介绍初始化函数多头差分注意力 Differential Transformer差分注意力,负注意力的引入 相关链接 ai-algorithms/README.md at main Jaykef/ai-algorithms (github.com) unilm/Diff…

response和验证码、文件下载操作

目录 Response对象 案例: 1、完成重定向 2、服务器输出字符输出流到浏览器 3、服务器输出字节输出流到浏览器 4、验证码 ServletContext对象 Response对象 功能:设置响应消息 1、设置响应行 格式:HTTP/1.1 200 ok 设置状态码 se…

RabbitMQ 高级特性——死信队列

文章目录 前言死信队列什么是死信常见面试题死信队列的概念:死信的来源(造成死信的原因有哪些)死信队列的应用场景 前言 前面我们学习了为消息和队列设置 TTL 过期时间,这样可以保证消息的积压,那么对于这些过期了的消…

【更新】上市公司企业机构投资者实地调研数据(2013-2023年)

一、测算方式: 参考《会计研究》逯东(2019)老师的做法,考虑投资者实地调研的频率和可能性,设立了下述变量来衡量上市公司接待投资者调研情况: 首先,使用年度范围内接待投资者调研的总次数 ( Visitnmb) 作为…

卸载PLSQL及标准卸载流程

目录 1. 卸载PLSQL2. 删除注册表3. 删除数据信息 1. 卸载PLSQL 等待进度条走完 2. 删除注册表 regedit 右击删除 3. 删除数据信息 由于AppData是隐藏文件,需要勾选隐藏的项目。 重启电脑,PLSQL就卸载成功了。

低代码工单管理app评测,功能与效率解析

预计到2030年,低代码平台市场将达1870亿美元。ZohoCreator助力企业构建定制化软件应用,以建筑行业工作订单管理app为例,简化流程,提升管理效率,降低成本。其用户友好界面、自动化管理、跨平台使用及全面报告功能受企业…

项目优化内容及实战

文章目录 事前思考Prometheus 普罗米修斯概述架构安装及使用 Grafana可视化数据库读写分离实战1-PrometheusGrafanaspringboot 事前思考 需要了解清楚:需要从哪些角度去分析实现?使用了缓存,就需要把缓存命中率数据进行收集;使用…