大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
什么是slam 技术
slam (Simultaneous Localization and Mapping)叫即时定位与建图,它主要的作用是让机器人在未知的环境中,完成定位(Localization),建图(Mapping)和路径规划(Navigation)。
激光slam简要介绍
主流的slam技术应用有两种,分别是激光slam(基于激光雷达lidar 来建图导航)和视觉slam(vslam,基于单/双目摄像头视觉建图导航),在此主要先介绍激光slam,它有分为基于滤波的 filter-based 的SLAM,和基于图优化Graph-based的SLAM
基于滤波框架slam:
卡尔曼滤波 : EKF UKF EIF 等
粒子滤波: PF RBPF FASTSAM 1.0 2.0 MCL
基于图优化框架slam:
Graph-slam 工具: g20
(1)基于Graph-based的代表是cartographer,karto_slam,可以修复 t 时刻之前的误差分为两部分Front-end ,和Back-end。
(2)基于(粒子滤波)PF的代表gmapping,只能估计X(t)当前时刻的位姿,不能修复之前时刻产生的误差。在大面积的情况下,就无法建图了。
slam算法实现的几个要点
1. 地图表示问题,比如dense和sparse都是它的不同表达方式,这个需要根据实际场景需求去抉择
(A)覆盖珊格地图 和点云地图
2. 信息感知问题,需要考虑如何全面的感知这个环境,RGBD摄像头FOV通常比较小,但激光雷达比较大
(A)主要使用传感器惯性测量单元——陀螺仪(Imu)测角度,轮子编码器测里程计odom,及激光雷达
3. 数据关联问题,不同的sensor的数据类型、时间戳、坐标系表达方式各有不同,需要统一处理
4. 定位与构图问题,就是指怎么实现位姿估计和建模,这里面涉及到很多数学问题,物理模型建立,状态估计和优化
5.回环检测问题
(A)分支定界Branch and Bound&lazy Decison(延迟决策) ,代表:cartographer
(B)Scan-to-Map
6.探索问题(exploration)
7.绑架问题(kidnapping)
8.帧间匹配算法
(A)PI-ICP
(B)CSM(Correlation Scan Match)
(C)梯度优化的方法:Hector—SLAM
(D)CSM+梯度优化:cartographer
2Dslam 技术发展
(A)EKF-SLAM构建的是feature 地图,而不是grid栅格地图,所以无法用于导航,只能用于定位。
(B)gmapping是Grid版本的FastSLAM,加入了scan-match。
(C)在Optimal RBPF在gmapping上做了优化,是MRPT上的一个开源算法。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/172350.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...