SLAM机器人开发(三)SLAM中常见的里程计

  • 里程计分类
    • 车轮里程计
    • 惯性里程计
    • 电磁波(光学)雷达
    • 超声波雷达
    • 视觉里程计
  • 里程计对比图

里程计分类

里程计(Odometry)这个词是由希腊单词odos(意思是“路线”)和metron(意思是“测量”)组成的。现在,里程计引申为使用来自运动传感器的数据来估计位姿随时间的变化的测量方法。
自主定位技术可以使运动载体实时确定自身的位姿和速度,从而可以用于建图、导航和物体识别等,整个定位过程不依赖外部支持。在外部定位数据(GPS、北斗和UWB等)不可靠的情况下,自主导航技术也能够具有可靠的导航能力。
里程计按照传感器类型主要分为五种,即车轮、惯性、电磁波(光学)雷达、超声波雷达和视觉里程计。在实际应用中,需要结合多种里程计来共同实现SLAM。比如:视觉+激光雷达,激光雷达+惯性,视觉+惯性+车轮等。

车轮里程计

车轮里程计,也称为轮速里程计。轮速里程计是基于安装在机器人上的光电编码器来跟踪每个车轮的转速。然后通过机器人的运动学模型,确定机器人相对于起始点的相对位置。轮速里程计方法受到几个限制。例如,它只适用于地面机器人,而不适用于空中或水上机器人。此外,它还存在位置漂移现象,而且测量误差随着时间累积。此外,由于车轮打滑,无法建立完整约束模型,在复杂不平的地形和光滑地面上的性能较差。尽管轮速里程计是一种简单且廉价的定位技术,但它不适合于需要精确和长期可靠定位系统。

惯性里程计

惯性传感器(IMU)能够测量传感器本体的角速度和加速度。但这些量都存在明显的漂移(Drift),使得积分两次得到的位姿数据非常不可靠。好比说,我们将 IMU 放在桌上不动,用它的读数积分得到的位姿也会漂出十万八千里。但是,对于短时间内的快速运动,IMU 能够提供一些较好的估计。

电磁波(光学)雷达

电磁波(光学)雷达中包含微波雷达(波长1mm~ 1m)、毫米波雷达(波长1~ 10mm)、激光雷达(波长300~ 1500nm)等。其中较为成熟的是激光雷达,通过TOF原理和相干技术来实现定位。
旋转式激光雷达:通过多束激光竖列而排,绕轴进行360°旋转,每一束激光扫描一个平面,纵向叠加后呈现出三维立体图形。多线束激光雷达可分为16线、32线、64线,线束越高,可扫描的平面越多,获取目标的信息也就越详细,线束低的激光雷达由于点云密度较低,容易带来分辨率不高的问题。
固态激光雷达:摒弃了原有的机械扫描方式,采用相控阵原理,有许多个固定的细小光束组层,通过每个阵元点产生光束的相位与幅度,以此强化光束在指定方向上的强度,并压抑其他方向的强度,从而实现让光束的方向发生改变。
由于固态式激光雷达,不具备旋转组件,这在一定程度降低了硬件成本和磨损消耗,且在个别光束阵元损坏的前提下,固态式激光雷达整体仍可持续工作,在可靠性上实现了大大提升。

超声波雷达

超声波不同于电磁波,是一种机械波。超声波雷达的工作原理是通过超声波发射装置向外发出超声波,到通过接收器接收到发送过来超声波时的时间差来测算距离。常用探头的工作频率有 40kHz, 48kHz 和 58kHz 三种。一般来说,频率越高,灵敏度越高,但水平与垂直方向的探测角度就越小,故一般采用 40kHz 的探头。

视觉里程计

视觉里程计需要用到的传感器主要是相机,比如单目,双目,多目和RGB-D相机等。为了弥补相机在纯色和低纹理环境下的较差表现,一些视觉里程计会采用主动发射结构光(具有一定结构的激光)的方法,比如Intel的RealSense D400系列就采用了双目+结构光的测量方法。
基于特征点法的前端,直到现在都被认为是视觉里程计的主流方法。它运行稳定,对光照、动态物体不敏感,是目前比较成熟的解决方案。特征是图像信息的另一种数字表达形式,而特征往往是一组特征点的集合。特征点由关键点(Key-point)和描述子(Descriptor)两部分组成,会在相机运动之后保持稳定。常见的特征点有 SIFT , SURF , ORB 等等。
提取图像的特征点之后,便可以通过对极几何约束、PnP、ICP和三角测量得到特征点的深度。到此,便对机器人自身和物体同时进行了定位。其他的视觉里程计有不计算描述子的光流法(Optical Flow)和直接法(Direct Method)和既不计算关键点、也不计算描述子的方法。

里程计对比图

里程计种类 测量距离 测量精度
车轮里程计 - - 纯滚动情况下 1~50cm
惯性里程计 - - 短时间高速运动 <1cm
电磁波雷达 0.1~ 200m 1 ~ 10cm
超声波雷达 0.1~3m 0.5 ~ 3cm
视觉里程计 0.1~100m 1 ~ 20cm
视觉里程计 100~3000m 50 ~ 1000cm
GPS(对比) >1,000,000m 民用1000cm左右,研究用最高达20cm
北斗(对比) >1,000,000m 民用300cm左右,研究用最高达3cm
UWB(对比) 0.1-100m 10 ~ 20cm
蓝牙AOA(对比) 0.1-100m 10 ~ 20cm

SLAM机器人开发(三)SLAM中常见的里程计相关推荐

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

    SLAM机器人开发(二)SLAM技术现状 激光SLAM 2D激光SLAM 3D激光SLAM 视觉SLAM 常见的视觉SLAM 视觉SLAM对比 视觉SLAM中使用的相机种类 视觉SLAM效果图 视觉激 ...

  2. SLAM前端中的视觉里程计和回环检测

    1. 通常的惯例是把 VSLAM 分为前端和后端.前端为视觉里程计和回环检测,相当于是对图像数据进行关联:后端是对前端输出的结果进行优化,利用滤波或非线性优化理论,得到最优的位姿估计和全局一致性地图. ...

  3. 3D激光SLAM:LeGO-LOAM---两步优化的帧间里程计及代码分析

    3D激光SLAM:LeGO-LOAM---两步优化的帧间里程计及代码分析 前言 利用地面点优化 利用角点优化 代码部分 gazebo测试 前言 LeGO-LOAM的全称是 Lightweight an ...

  4. 视觉SLAM十四讲学习笔记1——视觉里程计

    一.基础概念 1.按照相机的工作方式,我们把相 机分为单目(Monocular).双目(Stereo)和深度相机(RGB-D)三个大类. 2.照片,本质上是拍照时的场景(Scene),在相机的成像平面 ...

  5. 激光SLAM理论与实践 第二次作业(里程计标定)

    1.章节: 1.激光SLAM理论与实践-第五期 第一次作业(矩阵坐标变换) 2.激光SLAM理论与实践-第五期 第二次作业(里程计标定) 3.激光SLAM理论与实践-第五期 第三次作业(去运动畸变) ...

  6. 【SLAM】LIO-SAM解析——获得高频的lidar里程计TransformFusion(6)

    系列文章链接: [SLAM]LIO-SAM解析--流程图(1) [SLAM]LIO-SAM解析--数据预处理imageProjection(2) [SLAM]LIO-SAM解析--特征提取featur ...

  7. SLAM | 使用三维位姿图优化减少单目视觉里程计(3D Visual Odometry)定位轨迹的漂移(附源代码)

    ===================================================== github:https://github.com/MichaelBeechan CSDN: ...

  8. SLAM之视觉里程计和回环检测

    1. 通常的惯例是把 VSLAM 分为前端和后端.前端为视觉里程计和回环检测,相当于是对图像数据进行关联:后端是对前端输出的结果进行优化,利用滤波或非线性优化理论,得到最优的位姿估计和全局一致性地图. ...

  9. 【云安全】云计算中常见的网络虚拟化

    [云安全]云计算中常见的网络虚拟化 一.网络虚拟化 二.云计算中常见网络虚拟化 2.1 VLAN (虚拟局域网) 2.2 SDN (软件定义网络) 三.云计算中常见网络虚拟化对比 四.总结 一.网络虚 ...

最新文章

  1. java map 结构体_业务代码的救星——Java 对象转换框架 MapStruct 妙用
  2. 合并报表编制采用的理论_合并报表操作的整体思路梳理
  3. SiameseNet(Learning Text Similarity with Siamese Recurrent Networks)
  4. 经典C语言程序100例之六五
  5. div 图片滚动 / 文字滚动
  6. Ajax返回值问题思考
  7. python和c 的区别-Python和c语言的主要区别在哪
  8. 高中信息技术——进制与编码刷题点整理
  9. 常见的设计模式 ----- 桥接模式
  10. 网友发给我一个游戏钓鱼网站,我用python渗透了该网站所有信息!
  11. Python 音频文件批量切割
  12. Git merge合并冲突 error: ‘merge‘ is not possible because you have unmerged files的解决方法
  13. 中继器是什么计算机网络,中继器是什么
  14. 数据分析图表配色大全,可视化设计走高级路线的一定要看
  15. udf在服务器上显示语法错误,udf编译提示语法错误
  16. 入门3D游戏建模,有哪些建模软件可以选择?
  17. Qt控件--QComboBox存储自定义数据
  18. 汪延谈王志东离职问题 (转)
  19. 蓝桥杯Python快速入门(4)
  20. Power Platform实战技术分享

热门文章

  1. 最简单的scull设备驱动
  2. JVM 上数据处理语言的竞争:Kotlin, Scala 和 SPL
  3. 量子计算机意识永生,将人类意识上传计算机,能够实现“永生”?看看科学家怎么说...
  4. Pytorch环境搭建-Gpytorch
  5. Java mysql同步复制_MySQL数据的主从复制、半同步复制和主主复制详解
  6. vr虚拟全景展示,是你推广的最佳选择
  7. 数据链路层 一些其他的协议or技术
  8. 补码浮点数运算(设数的阶码为3位,尾数为6位(均不包括符号位)按机械补码浮点运算规则完成下列[x+y]补运算。)
  9. html链接分类,超链接类型
  10. 过敏性鼻炎与感冒症状区别