【 嵌牛鼻子】: 有人就曾打比方,若是手机离开了 WIFI 和数据网络,就像无人车和机器人,离开了 SLAM 一样。
【嵌牛正文】: 目前科技发展速度飞快,想让用户在 AR/VR、机器人、无人机、无人驾驶领域体验加强,还是需要更多前沿技术做支持,SLAM 就是其中之一。实际上,有人就曾打比方,若是手机离开了 WIFI 和数据网络,就像无人车和机器人,离开了 SLAM 一样。
在 VR/AR 方面,根据 SLAM 得到地图和当前视角对叠加虚拟物体做相应渲染,这样做可以使得叠加的虚拟物体看起来比较真实,没有违和感。在无人机领域,可以使用 SLAM 构建局部地图,辅助无人机进行自主避障、规划路径。在无人驾驶方面,可以使用 SLAM 技术提供视觉里程计功能,然后跟其他的定位方式融合。机器人定位导航方面,SLAM 可以用于生成环境的地图。基于这个地图,机器人执行路径规划、自主探索、导航等任务。
SLAM 技术的发展距今已有 30 余年的历史,涉及的技术领域众多。由于本身包含许多步骤,每一个步骤均可以使用不同算法实现,SLAM 技术也是机器人和计算机视觉领域的热门研究方向。
SLAM 的英文全程是 Simultaneous Localization and Mapping,中文称作「同时定位与地图创建」。SLAM 试图解决这样的问题:一个机器人在未知的环境中运动,如何通过对环境的观测确定自身的运动轨迹,同时构建出环境的地图。SLAM 技术正是为了实现这个目标涉及到的诸多技术的总和。
SLAM 技术涵盖的范围非常广,按照不同的传感器、应用场景、核心算法,SLAM 有很多种分类方法。按照传感器的不同,可以分为基于激光雷达的 2D/3D SLAM、基于深度相机的 RGBD SLAM、基于视觉传感器的 visual SLAM(以下简称 vSLAM)、基于视觉传感器和惯性单元的 visual inertial odometry(以下简称 VIO)。
基于激光雷达的 2D SLAM 相对成熟,早在 2005 年,Sebastian Thrun 等人的经典著作《概率机器人学》将 2D SLAM 研究和总结得非常透彻,基本确定了激光雷达 SLAM 的框架。目前常用的 Grid Mapping 方法也已经有 10 余年的历史。2016 年,Google 开源了激光雷达 SLAM 程序 Cartographer,可以融合 IMU 信息,统一处理 2D 与 3D SLAM 。目前 2D SLAM 已经成功地应用于扫地机器人中。
基于深度相机的 RGBD SLAM 过去几年也发展迅速。自微软的 Kinect 推出以来,掀起了一波 RGBD SLAM 的研究热潮,短短几年时间内相继出现了几种重要算法,例如 KinectFusion、Kintinuous、Voxel Hashing、DynamicFusion 等。微软的 Hololens 应该集成了 RGBD SLAM,在深度传感器可以工作的场合,它可以达到非常好的效果。
视觉传感器包括单目相机、双目相机、鱼眼相机等。由于视觉传感器价格便宜,在室内室外均可以使用,因此 vSLAM 是研究的一大热点。早期的 vSLAM 如 monoSLAM 更多的是延续机器人领域的滤波方法。现在使用更多的是计算机视觉领域的优化方法,具体来说,是运动恢复结构(structure-from-motion)中的光束法平差(bundle adjustment)。在 vSLAM 中,按照视觉特征的提取方式,又可以分为特征法、直接法。当前 vSLAM 的代表算法有 ORB-SLAM、SVO、DSO 等。
视觉传感器对于无纹理的区域是没有办法工作的。惯性测量单元(IMU)通过内置的陀螺仪和加速度计可以测量角速度和加速度,进而推算相机的姿态,不过推算的姿态存在累计误差。视觉传感器和 IMU 存在很大的互补性,因此将二者测量信息进行融合的 VIO 也是一个研究热点。按照信息融合方式的不同,VIO 又可以分为基于滤波的方法、基于优化的方法。VIO 的代表算法有 EKF、MSCKF、preintegration、OKVIS 等。Google 的 Tango 平板就实现了效果不错 VIO。
总的来说,相比于基于激光雷达和基于深度相机的 SLAM,基于视觉传感器的 vSLAM 和 VIO 还不够成熟, *** 作比较难,通常需要融合其他传感器或者在一些受控的环境中使用。
【转51cto】
slam算法是实现机器人定位、建图、路径规划的一种算法。
Simultaneous Localization and Mapping (SLAM)原本是Robotics领域用来做机器人定位的,最早的SLAM算法其实是没有用视觉camera,Robotics领域一般用Laser Range Finder来做SLAM。
其中一个原因是SLAM对实时性要求比较高,而要做到比较精确、稳定、可靠、适合多种场景的方案一般计算量相对较大,目前移动式设备的计算能力还不足够支撑这么大的计算量,为了达到实时性能,往往需要在精确度和稳定性上做些牺牲。
仿真软件:
数值网络仿真技术八十年代初发展较快,,早期的通用仿真软件有SLAM、GERT、VERT等。其共同特征是提供一种构模框架,在DOS *** 作系统下以FORTRAN语言实现。在设计上类似一系列子程序的软件包。每种图元有特定语句 ,用户构模需编写程序 ,网络图取辅助理解的功能。
slam算法是解决一个机器人在未知的环境中运动,如何通过对环境的观测确定自身的运动轨迹,同时构建出环境的地图的问题方法。
SLAM技术正是为了实现这个目标涉及到的诸多技术的总和。SLAM技术涵盖的范围非常广,按照不同的传感器、应用场景、核心算法,SLAM有很多种分类方法。
slam算法应用
在 VR/AR 方面,根据 SLAM 得到地图和当前视角对叠加虚拟物体做相应渲染,这样做可以使得叠加的虚拟物体看起来比较真实,没有违和感。在无人机领域,可以使用 SLAM 构建局部地图,辅助无人机进行自主避障、规划路径。
在无人驾驶方面,可以使用 SLAM 技术提供视觉里程计功能,然后跟其他的定位方式融合。机器人定位导航方面,SLAM 可以用于生成环境的地图。基于这个地图,机器人执行路径规划、自主探索、导航等任务。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)