SLAM机器人开发(二)SLAM技术现状

SLAM机器人开发(二)SLAM技术现状SLAM机器人开发(二)SLAM技术现状激光SLAM2D激光SLAM3D激光SLAM视觉SLAM常见的视觉SLAM视觉SLAM对比视觉SLAM中使用的相机种类视觉SLAM效果图视觉激光融合SLAM激光SLAM2D激光SLAM激光SLAM在SLAM技术中是较为传统且成熟的。2D激光SLAM技术需要输入IMU数据、里程计数据和2D激光雷达数据,经过计算后输出覆盖栅格地图和机器人轨迹。从20世纪90年代EKF-SLAM的提出开始,陆续出现了UKF-SLAM、PF-S

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

激光SLAM

2D激光SLAM

激光 SLAM 在 SLAM 技术中是较为传统且成熟的。2D 激光 SLAM 技术需要输入 IMU 数据、 里程计数据和 2D 激光雷达数据,经过计算后输出覆盖栅格地图和机器人轨迹。从 20 世纪 90 年 代 EKF-SLAM 的提出开始,陆续出现了 UKF-SLAM、PF-SLAM、FAST-SLAM、GMapping、 Optimal-RBPF等激光 SLAM 算法。其中,GMapping 算法基于 RBPF-SLAM,使用粒子滤波器 (Particle Filter,PF),进一步降低了定位和建图误差,从而成为一种常用的激光 SLAM 算法。

3D激光SLAM

LOAM于 2014 年被提出,是较早的 3D 激光 SLAM。LOAM 算法使用两轴单线的激光雷达构建三维点云图。与视觉 SLAM 采用的深度相机相比,三维激光雷达在室内实景三维测图方面速度快、精度高。三维激光 SLAM 在室内建图精度可达到 2cm,而室外的表现稍差一些,精度为 9.7cm。但是与视觉SLAM相比,用于 3D 激光 SLAM 的激光雷达成本较高,线束越多,价格越贵,64线束的激光雷达可达几十万元。

视觉SLAM

常见的视觉SLAM

视觉 SLAM 的提出时间比激光 SLAM 晚,视觉 SLAM 可通过相机建立视觉里程计,所以不需要外部里程计和 IMU 的纯视觉 SLAM 也可以获得很好的效果。不过纯视觉 SLAM 在快速移动时效果欠佳,在相机移动速度大于 5m/s 时可能会跟丢特征点。视觉 SLAM 的后端优化大多采用 非线性优化,回环检测大多采用词袋模型,而前端的视觉里程计(VO/VIO)计算方法有特征点法、直接法和光流法等。其中特征点法中提取的特征可以是 SIFT 特征、ORB 特征、SURF 特 征以及 HF-Net 等。
常用的视觉 SLAM 算法有 PTAM、ORB-SLAM、RTAB-MAP、RGBD-SLAM-V2 等 。具体如下图所示:
在这里插入图片描述
参考文献:C. Campos, R. Elvira, et al.ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial, and Multimap SLAM[J]. IEEE/Transactions on Robotics(Early Access), 2021:1-17.*

视觉SLAM对比

RTAB-MAP 是一个集成度很高的算法,不易于二次开发,ORB-SLAM 和 RGBD-SLAM-V2 算法则各有千秋。
ORB-SLAM是2015 年被提出的基于 ORB 特征点的 SLAM 算法,紧接着 2017 年提出了 ORB-SLAM2,2021 年提出了 ORB-SLAM3。三个版本 ORB-SLAM 算法在前端里程计的计算中都依赖于 ORB 特征的提取。不过,ORB-SLAM 最终建立的是稀疏点云图。ORB-SLAM3是第一个基于特征点的紧耦合的 VIO 系统,仅依赖于最大后验估计,包括在 IMU 在初始化时。与旧版本相比,ORB-SLAM3 在大场景或小场景,室内或室外中都能鲁棒的实时运行。而且在精度上, 相比于上一版提升了 2 到 5 倍。
而另一种算法 RGBD-SLAM 于 2014 年提出,可从多种特征中选择一个,同时建立稠密点 云图。但是建立稠密点云图是一项费资源耗时的任务,而其中的 SIFT 特征点提取需要使用 GPU, 因此更为费资源。所以,RGBD-SLAM 实时性较差,而且十分依赖硬件资源。
近几年,基于融合 CNN 算法的深度特征 HF-Net 提取的 DXSLAM 采用深度学习不仅可以给出关键点描述符, 而且给出整个图像的全局描述符。由于 DXSLAM 基于全局特征,便可构建一个有效的重定位模块,用于在系统初始化或跟踪失败时加速重定位。

视觉SLAM中使用的相机种类

除了算法,相机类型的不同也会影响到视觉 SLAM 的性能。用于视觉 SLAM 的相机可分为 单目相机、双目相机、RGB-D 相机、针孔相机、鱼眼相机、全景相机、Event 相机等。其中,常用的相机有单目相机、双目相机、RGB-D 相机。
单目相机用于单目 SLAM(Monocular SLAM),由于只用一个摄像机进行 SLAM,成本很低。但是这种用二维形式反映三维世界的方法无法确定真实尺度,这导致单目 SLAM 的应用受限。对于无法确定 真实尺度的问题,可以通过测量出深度信息而解决,因此,研究方向更多的转到了双目相机和 RGB-D 相机。
双目相机的测量深度原理和人左右眼测距原理十分相似,两个相机之间的距离, 经常被称为基线,是已知的,从而通过两个相机获取的图像差别便可求出深度。但是双目相机需 要耗费极大的计算模块资源来计算视差,如果想实时输出获取图像的距离信息,需要使用 GPU 和 FPGA 设备加速。
RGB-D 相机是 2010 年左右兴起的一种相机,它自带图像处理器,可以通过红外结构光或 TOF 原理测出物体离相机的距离,从而不必耗费搭载其的工控机的计算资源去计算深度。
在上述测距原理中,双目测距方法需要耗费极大的硬件资源,而且受光照、物体纹理情况、 物体材料透明度等影响,但是在室外的情况下,相比另外两种方法可以得到更精确的深度数据。 红外结构光测距可以完美地解决双目匹配图像时的问题,但在室外测距效果不佳。尽管 TOF 测 距虽然没有另外两种方法的不足,但其得到的分辨率较低,深度图像质量差,而且功耗大。

视觉SLAM效果图

在这里插入图片描述
这是使用Intel Realsense D415 建立的三维点云地图。Realsense D400系列能获取的彩色图最大分辨率为 1920×1080,深度图的最大分辨率为 1280×720。但在实际应用中,彩色图和深度图的分辨率均采用 640×480,同时帧率设置为 30fps。在双目测距的基 础上,同时发射结构光来解决在低纹理问题和环境光照敏感问题。结构光可以把有规律的光斑照射到低纹理物体表面,从而获取更多的图像特征点,但同时获取图像特征点的时间也将变长。经过测验,未加入结构光时,2 到 12ms 之间可以获取一帧关键图像,而每个关键帧中 含有 800 到 2200 个特征点。但是,当加入结构光时,每个关键帧中含有 4700 到 10500 个特征点, 而获取关键帧的时间增长到 10 到 28ms。

视觉激光融合 SLAM

相比于现有的 RGB-D 相机,激光雷达可以提供更高精度的深度数据。因此,可以令 3D 激光雷达为视觉特征提供深度信息,而视觉辅助激光雷达进行运动畸变去除、辅助回环检测和提供精 确里程信息。基于这一融合的算法有 V- LOAMVELO,其中 V- LOAM 基于漂移匀速假设,无回环;而 VELO 基于无运动畸变假设,有回环。但是,在视觉激光融合 SLAM 中需要解决不同系统之间的同步问题。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187119.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • docker部署web项目_小钢炮docker安装web

    docker部署web项目_小钢炮docker安装web前言前面我们运行的容器并没有一些什么特别的用处。接下来让我们尝试使用docker构建一个web应用程序。我们将在docker容器中运行一个PythonFlask应用来运行一个web

  • 红月服务器制作过程,红月3.8C私服架设教程

    红月服务器制作过程,红月3.8C私服架设教程————————————————九到一私服资源下载站原创教程–红月3.8C私服架设录像教程————————————————大家好,今天架设红月私服。课前必看为MSSQL的架设教程。事先我已经安装好SQL了。下面我们下下载好服务端和客户端。桌面上建立个文件夹储存OK,…

  • ToF相机从Camera2 API中获取DEPTH16格式深度图[通俗易懂]

    ToF相机从Camera2 API中获取DEPTH16格式深度图[通俗易懂]ToF相机工作原理:ToF相机给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲往回的飞行时间来得到目标距离。ToF相机可以同时得到整幅图像的深度(距离)信息。  深度图通常是灰度图,其中的每个值代表光反射表面和相机的距离。灰度图水平垂直坐标对应像素点位置,该位置的灰度值对应的是该像素距离摄像头的距离。所以深度图中的每个像素可以表示空间中一个点的三维坐标。如果光源被吸收或者未收到反射信号则呈现黑色。从Camera2API中获取DEPTH16格式的深度信息ImageFormat.DE

  • Tomcat的下载及安装

    Tomcat的下载及安装一、Tomcat下载1、打开Tomcat官网,默认进入官网首页,官网地址为:https://tomcat.apache.org/2、左侧的导航栏可以看到Download(下载),以及最近相关版本的Tomcat(9、8、7…),这里选择的是Tomcat8,点击进入3、进入tomcat8的相关页面后会显示一些该版本的信息,可以忽略,鼠标下滑进行查找4、这里我们可以看到…

  • 分布式锁的实现和应用场景_predis分布式锁的应用

    分布式锁的实现和应用场景_predis分布式锁的应用文章目录如何理解分布式锁分布式锁的常用实现基于关系型数据库存在单点故障风险不可重入无法实现阻塞应用Redis缓存基于ZooKeeper实现电商网站都会遇到秒杀、特价之类的活动,大促活动有一个共同特点就是访问量激增,在高并发下会出现成千上万人抢购一个商品的场景。虽然在系统设计时会通过限流、异步、排队等方式优化,但整体的并发还是平时的数倍以上,参加活动的商品一般都是限量库存,如何防止库存超卖,避免并发问题呢?分布式锁就是一个解决方案。如何理解分布式锁我们都知道,在业务开发中,为了保证在多线程下处理

  • SqlServer定时备份数据库和定时杀死数据库死锁解决

    SqlServer定时备份数据库和定时杀死数据库死锁解决

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号