Przeglądaj źródła

[feat]:添加算法原理

fishros 3 lat temu
rodzic
commit
1867a50e5c
1 zmienionych plików z 23 dodań i 7 usunięć
  1. 23 7
      docs/chapt10/10.3SLAM技术概述.md

+ 23 - 7
docs/chapt10/10.3SLAM技术概述.md

@@ -14,8 +14,6 @@ SLAM是同步定位与地图构建(Simultaneous Localization And Mapping)的缩
 
 
 视频中随着机器人的移动,机器人的传感器获取到了环境信息,然后完成对博物馆地图的构建。
 视频中随着机器人的移动,机器人的传感器获取到了环境信息,然后完成对博物馆地图的构建。
 
 
-在构建的过程中你可以发现已经走过的地图还会发生变化,这就涉及到了SLAM算法的回环检测和后端优化了。
-
 > 有小伙伴可能会问,只看到建图没看到定位呀。细心观察可以发现建图的过程中,其实一直都在计算机器人的位置。
 > 有小伙伴可能会问,只看到建图没看到定位呀。细心观察可以发现建图的过程中,其实一直都在计算机器人的位置。
 
 
 ## 2. SLAM如何解决建图定位问题
 ## 2. SLAM如何解决建图定位问题
@@ -38,30 +36,48 @@ SLAM是同步定位与地图构建(Simultaneous Localization And Mapping)的缩
 
 
 ![经典视觉SLAM结构](10.3SLAM技术概述/imgs/image-20220421152216184.png)
 ![经典视觉SLAM结构](10.3SLAM技术概述/imgs/image-20220421152216184.png)
 
 
-## 3.SLAM开源库
+## 3.SLAM算法分类
+
+从算法的对数据的处理方式上看,目前常用的SLAM开源算法可以分为两类
+
+1.基于滤波,比如扩展卡尔曼滤波(EKF: Extended Kalman Filter)、粒子滤波(PF: Particle Filter)等。
+
+ROS中的gmapping、hector_slam算法都是基于滤波实现的。
+
+2.基于图优化,先通过传感器进行构图,然后对图进行优化。
+
+目前比较主流的是图优化的方法,Cartographer就是基于图优化实现的。图优化相对于滤波,不用实时的进行计算,效率更高,消耗的资源更少,所以在实际场景中使用的更多。
 
 
-### 3.1. Cartographer
+## 4.SLAM开源库
+
+### 4.1. Cartographer
 
 
 github地址:https://github.com/cartographer-project/cartographer
 github地址:https://github.com/cartographer-project/cartographer
 
 
 Cartographer是一个可跨多个平台和传感器配置以2D和3D形式提供实时同时定位和建图(SLAM)的系统。
 Cartographer是一个可跨多个平台和传感器配置以2D和3D形式提供实时同时定位和建图(SLAM)的系统。
 
 
-### 3.2. ORB_SLAM2(纯视觉)
+### 4.2. ORB_SLAM2(纯视觉)
 
 
 github地址:https://github.com/raulmur/ORB_SLAM2
 github地址:https://github.com/raulmur/ORB_SLAM2
 
 
 ORB-SLAM2是用于单目,双目和RGB-D相机的实时SLAM库,用于计算相机轨迹和稀疏3D重建
 ORB-SLAM2是用于单目,双目和RGB-D相机的实时SLAM库,用于计算相机轨迹和稀疏3D重建
 
 
-### 3.3 VINS
+### 4.3 VINS
 
 
 github地址:https://github.com/HKUST-Aerial-Robotics/VINS-Mono
 github地址:https://github.com/HKUST-Aerial-Robotics/VINS-Mono
 
 
 VINS-Mono是单目视觉惯性系统的实时SLAM框架。它使用基于优化的滑动窗口配方来提供高精度的视觉惯性测距。
 VINS-Mono是单目视觉惯性系统的实时SLAM框架。它使用基于优化的滑动窗口配方来提供高精度的视觉惯性测距。
 
 
-## 4.总结
+## 5.总结
 
 
 本节课我们简单介绍了下感知部分的技术担当SLAM,并对常用的开源库进行介绍,下一节我们就对其中的Cartograpger开源库进行介绍和安装。
 本节课我们简单介绍了下感知部分的技术担当SLAM,并对常用的开源库进行介绍,下一节我们就对其中的Cartograpger开源库进行介绍和安装。
 
 
+
+
+参考文章:
+
+- https://blog.csdn.net/heyijia0327/article/details/47686523
+
 --------------
 --------------
 
 
 技术交流&&问题求助:
 技术交流&&问题求助: