实习:slam算法的学习整理

article/2025/8/28 4:56:42

 1.odom

2.updata_odom

3.updata_laser

updata_landmark

4.resample  pf.c

相机的位姿转换是基于世界坐标系的,观察到的路标也会在世界坐标系中不断收敛,若不是计算错误,基本上不会产生漂移。而IMU是自身坐标系标定的,在转换到世界坐标系时候一定会产生误差,时序累积必定产生漂移。两种方式的优缺点互补,这就引发视觉SLAM的融合思想,既是SensorFusion。

闭环检测一般使用词袋模型作为场景匹配方法。而作为一个场景识别问题,闭环检测可以看做是一个视觉系统的模式识别问题。所以可以使用各种机器学习的方法来做,比如什么决策树/SVM,也可以试试Deep Learning。不过实际当中要求实时检测,没有那么多时间训练分类器。所以SLAM更侧重在线的学习方法。

无论使用什么混合权重,权重加总应该等于1。

odom_model_type是"diff",那么使用sample_motion_model_odometry算法,这种模型使用噪声参数odom_alpha_1到odom_alpha4。 如果是"omni" 模型用于全向底座,使用噪声参数odom_alpha_1到odom_alpha_5。前4个参数类似于“diff”模型,第5个参数用于捕获机器人在垂直于前进方向的位移(没有旋转)趋势。

运用高斯分布表达噪声模型,则运动模型算法流程如下:

采用采样方式表达运动模型,主要运用于粒子滤波算法中(学习重点):

描述机器人制图Mapping(占用概率栅格地图和cost-map)的时候做如下假设:机器人的位姿已知。这样制图问题就变成了单纯地图更新的过程。

描述机器人定位问题的时候假设:环境地图Map已知。

地图可以分为如下几种类型:度量地图Metric Map、拓扑地图、语义地图

占用概率栅格地图是一种栅格地图,栅格中的值通常为概率值。主要使用栅格地图,简单来说就是占据的地方变黑,障碍物为白,不使用的地方为灰。

cost地图主要用于路径规划,用于描述环境中的障碍物和自由空间。通常也用栅格地图表示,常见的整体代价地图和分层代价地图。

https://zhuanlan.zhihu.com/p/21738718

发现一个牛逼的东西:https://github.com/yhexie/ROS-Academy-for-Beginners 

有中国大学的各种仿真demo

Beam Model叫做测量光束模型。完全的物理模型,只针对激光发出的测量光束建模。将一次测量误差分解为四个误差。

phhit,测量本身产生的误差,符合高斯分布。phxx,由于存在运动物体产生的误差。

Likehood field,似然场模型,和测量光束模型相比,考虑了地图的因素。不再是对激光的扫描线物理建模,而是考虑测量到的物体的因素。似然比模型本身是一个传感器观测模型,之所以可以实现扫描匹配,是通过划分栅格,步进的方式求的最大的Score,将此作为最佳的位姿。

https://github.com/yhexie   

www.cnblogs.com/yhlx125/   

牛逼的博客。

调用Global_localization服务虽然可以完成小车的自主初始化位姿,但是粒子收敛时间很长,平均在90s左右,如果减少相对粒子数min_particles,max_particles,收敛时间会相对减小。Amcl中默认的最小,最大粒子数分别为500,5000。

粒子的数量是粒子滤波器发挥较好作用的关键环节。当粒子数量较多的时候,能够降低粒子飘移带来的不良影像。但是这样会增加计算负荷,进而影响滤波的效果。对于例子数量增多带来的计算量大的问题,使用KLD采样方法。

KLD采样产生是通过观测两个概率分布不同的KL距离。KL距离是用于表示概率分布p和概率分布q之间的逼近误差。

逼近误差定义:
在AMCL当中采用KLD采样算法可以动态调整粒子的数量

2DSLAM问题通常被认为是后验概率估计问题。其解决方案大多数是基于贝叶斯滤波器的概率模型方法。根据随机估计可知,整个SLAM问题可以描述成求解如下分布:

递归的贝叶斯估计方法主要分成预测和更新两步,

https://blog.csdn.net/David_Han008/article/details/68926189

A*算法博客 : theory.stanford.edu/~amitp/GameProgramming/AStarComparison.html

路径规划博客:https://blog.csdn.net/changbaohua/article/details/3860307

https://blog.csdn.net/hulizhi321/article/details/79631008


http://chatgpt.dhexx.cn/article/6kkrZL5j.shtml

相关文章

关于slam

什么是SLAM?机器人在未知环境中,要实现智能化需要完成三个任务,第一个是定位(Localization),第二个是建图(Mapping),第三个则是随后的路径规划(Navigation)。 之前地平线的高翔博士用这样一句话概括SLAM的释义。不过实际生活中的…

SLAM介绍

https://blog.csdn.net/tiandijun/article/details/55212968 SLAM 1.  前言 读者朋友们大家好!(很久很久)之前,我们为大家介绍了SLAM的基本概念和方法。相信大家对SLAM,应该有了基本的认识。在忙完一堆写论文、博…

【动态SLAM】快速入门(原理介绍及经典算法)

【动态SLAM】快速入门(原理介绍及经典算法) 0 简介1. 传统视觉SLAM技术的局限2. 常用算法:2.1 基于深度学习的分割方法2.1.1 目标检测(Object Detection)2.1.2 语义分割(INstance Segmentation)…

Visual SLAM算法笔记

MulinB按:最近在学习SLAM算法,这里作为阅读笔记记录和总结一下。这里关注的主要是基于视觉的Visual SLAM或Visual Odometry,也包括一部分图像和IMU融合的Visual-Inertial Odometry相关算法。 注:下文中部分链接指向Google Schola…

一起自学SLAM算法:8.2 Cartographer算法

连载文章,长期更新,欢迎关注: 写在前面 第1章-ROS入门必备知识 第2章-C编程范式 第3章-OpenCV图像处理 第4章-机器人传感器 第5章-机器人主机 第6章-机器人底盘 第7章-SLAM中的数学基础 第8章-激光SLAM系统 8.1 Gmapping算法 8.2 Cartographe…

开源3D激光(视觉)SLAM算法汇总(持续更新)

目录 一、Cartographer 二、hdl_graph_slam 三、LOAM 四、LeGO-LOAM 五、LIO-SAM 六、S-LOAM 七、M-LOAM 八、livox-loam 九、Livox-Mapping 十、LIO-Livox 十一、FAST-LIO2 十二、LVI-SAM 十三、FAST-Livo 十四、R3LIVE 十五、ImMesh 十六、Point-LIO 一、Car…

SLAM | 激光SLAM中开源算法对比

点击上方“AI算法修炼营”,选择加星标或“置顶” 标题以下,全是干货 前面的话 好久没有更新SLAM系列的文章了,前面我们讲到了激光SLAM技术。基于激光雷达的同时定位与地图构建技术(simultaneous localization and mapping&#xf…

激光SLAM算法学习(一)——激光SLAM简介

激光SLAM算法学习(一) 激光SLAM简介 1、SLAM是什么 SLAM是同步定位与地图构建(Simultaneous Localization And Mapping)的缩写,最早由Hugh Durrant-Whyte 和 John J.Leonard提出。SLAM主要用于解决移动机器人在未知环境中运行时定位导航与地…

SLAM算法

一、概述 Simultaneous Localization and Mapping (SLAM)原本是Robotics领域用来做机器人定位的,最早的SLAM算法其实是没有用视觉camera的(Robotics领域一般用Laser Range Finder来做SLAM)。本文主要关注基于camera图像做SLAM的算法&#xf…

SLAM算法(一)即同步定位与地图构建了解

文章目录 一、SLAM 简介二、SLAM 技术简介三、slam算法实现的几个要点有趣的事,Python永远不会缺席培训说明 一、SLAM 简介 SLAM(Simultaneous Localization and Mapping同步定位与地图构建) 是业界公认视觉领域空间定位技术的前沿方向,它主要的作用是让…

盘点机器人常用的几大主流SLAM算法

SLAM可以说是近几年最火的机器人技术之一,也是机器人领域的关键技术。不少同学表示,学了几年还在「爬坑」,甚至感觉「越学越难」。本文通过整理机器人领域常用的SLAM算法架构及特点,希望为大家的方向选择提供一些参考。 01 SLAM是…

一起自学SLAM算法:7.7 典型SLAM算法

连载文章,长期更新,欢迎关注: 写在前面 第1章-ROS入门必备知识 第2章-C编程范式 第3章-OpenCV图像处理 第4章-机器人传感器 第5章-机器人主机 第6章-机器人底盘 第7章-SLAM中的数学基础 7.1 SLAM发展简史 7.2 SLAM中的概率理论 7.3 估计理论 …

slam原理介绍和经典算法

1.传统slam局限性 slam算法假设的环境中的物体都是处于静态或者低运动状态的,然而,现实世界是复杂多变的,因此这种假设对于应用 环境有着严格的限制,同时影响视觉slam系统在实际场景中的应用性。当环境中存在动态物体时&#xff0…

【漫画】程序员系列苏大强版表情包

点击上方“ 程序IT圈 ”,选择“置顶公众号” 关键时刻,第一时间送达! 整理来源于菜鸟要飞 今天抽空给大家收集了一份苏大强版程序员系列表情包,分享给大家,希望你能够喜欢 。下面做个投票,看看你最喜欢哪个…

10 张令人泪牛满面的程序员趣图

(给程序员的那些事加星标,每天看趣图) 0、没事,我已经全部注释掉了 1、好好的现有库你不用,非得造轮子了! 2、HR 和程序员都是如何看简历的? 3、程序员的灾难曲线图 4、用钉钉子解释软件测试 5、…

[转] 程序员才懂的58张图片,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

来源:程序员最幽默(ID:humor1024)编译配字 01 Java VS C 02 功能先上了再说 03 高级开发人员作为一个团队进行编程 04 调试CSS 05 高级开发人员重构代码 06 能一个手指完成的绝不用两只手 07 看实习生编码的时候,我的表…

趣图:程序员某场景的样子--开心一笑

几组幽默的图片,真实的解释了程序员在一些特定场景时候的样子…… 往运行服务器上直接上传文件时程序员的样 当老板说项目如果能赶在最后期限前开发完成将会有一笔奖金时程序员的样子 当凌晨3点还在修改bug时程序员的样子 当发现没有按CTRL-S就关闭了文件时程序员的…

趣图:程序员的那些事(一)

关注很久了《程序员的那些事》公众号,发现特别有意思的就是 ‘趣图’ 了。 分享给大家,在烦躁的工作中 , 笑上一笑!! 0、趣图是出自美剧《黑客军团》 上图右边那位是主演拉米马雷克,他就是 2019 年奥斯卡影…

【转帖】程序员才懂的58张图片

程序员才懂的58张图片,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈 2019年02月02日 21:15:00 大数据v 阅读数:16226 https://blog.csdn.net/zw0Pi8G5C1x/article/details/86762134 导读:春节快到了!你的假期都安排上了吗?今天我们…