1 总览

LaMa是由葡萄牙阿威罗大学的智能机器人与系统(IRIS)实验室开发的用于机器人定位和制图的C++ 11软件库。它包括一个用于3D体积网格(用于建图)的框架,一个基于扫描匹配的定位算法和两个SLAM解决方案(一个在线SLAM和一个粒子滤波SLAM)。

主要特点是效率。只要有可能,就使计算量少,内存使用量少。运行我们的定位和SLAM解决方案的最小可行计算机是Raspberry Pi 3 Model B+。

Github:https://github.com/iris-ua/iris_lama

2 构建

要构建LaMa,请从GitHub克隆它并使用CMake进行构建。

$ git clone https://github.com/iris-ua/iris_lama
$ cd iris_lama
$ mkdir build
$ cd build
$ cmake ..

它唯一的依赖性是Eigen3。

注意:LaMa不提供任何可执行文件。有关如何使用它的示例,请查看我们与ROS的集成。

3 与ROS集成

源代码包含package.xml,因此可以将其用作外部ros包中的库。我们提供ROS节点来运行定位和两个SLAM解决方案。请访问iris_lama_ros了解更多信息。

4 稀疏-密集建图(SDM)

稀疏-密集建图(SDM)是有效实施3D体积网格的框架。它将空间划分为小的稠密块,这些稠密块可通过稀疏数据结构寻址。为了提高内存使用率,可以在实时操作期间使用低损耗的无损数据压缩(当前为lz4和Zstandard)每个块。它可以替代OctoMap。

当前,它已实现以下网格图:

(1)Distance Map:它提供了到地图中最接近的占用像元的距离。我们提供了DynamicDistanceMap,它是由以下人员提出的动态欧几里得地图的实现:

B. Lau, C. Sprunk, and W. Burgard Efficient Grid-Based Spatial Representations for Robot Navigation in Dynamic Environments Robotics and Autonomous Systems, 61 (10), 2013, pp. 1116-1130, Elsevier

(2)Occupancy Map:机器人技术中最常见的环境表示形式。提供了3个占用地图的变体:

  • SimpleOccupancyMap,其中每个单元格都具有三种状态:空闲,已占用或未知
  • ProbabilisticOccupancyMap,用于对每个带有标识的单元格的占用概率进行编码
  • FrequencyOccupancyMap,它跟踪光束击中或穿越(错过)一个单元的次数并计算命中率/未命中率

有关SDM的更多信息,请阅读:

Eurico Pedrosa, Artur Pereira, Nuno Lau A Sparse-Dense Approach for Efficient Grid Mapping 2018 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC)

5 基于扫描匹配的定位

我们为连续似然域支持的移动机器人定位提供了一种快速扫描匹配方法。它可用于为配备激光和不太好的里程计的机器人提供准确的定位。但是,始终建议使用良好的里程计。

Eurico Pedrosa, Artur Pereira, Nuno Lau Efficient Localization Based on Scan Matching with a Continuous Likelihood Field 2017 IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC)

6 在线SLAM

对于没有大量回环的环境,此解决方案可能是准确且非常有效的。它甚至可以在低规格的计算机上实时运行(我们可以在带有树莓派3B+的Turtlebot上运行)。它结合我们的定位算法和动态似然域来逐步构建占用地图。

欲了解更多信息,请阅读:

Eurico Pedrosa, Artur Pereira, Nuno Lau A Non-Linear Least Squares Approach to SLAM using a Dynamic Likelihood Field Journal of Intelligent & Robotic Systems 93 (3-4), 519-532

7 多线程粒子滤波SLAM

该粒子滤波SLAM是类似于GMapping的RBPF SLAM,它是Online SLAM解决方案对具有多线程支持的多个粒子的扩展。我们的解决方案能够并行化定位和建图过程。它使用线程池来管理工作线程的数量。

即使没有多线程,我们的解决方案还是轻量级,相对于重量级的GMapping。

LaMa:一个定位和建图库相关推荐

  1. 在多变环境中长期定位和建图的通用框架

    点云PCL免费知识星球,点云论文速读. 文章:A General Framework for Lifelong Localization and Mapping in Changing Environ ...

  2. 综述|深度学习在SLAM定位与建图中的应用(近250篇参考文献)

    作者丨Jasper@知乎 编辑丨Realcat  计算机视觉SLAM " 近年来深度学习被广泛应用于定位与建图中.相比于传统的手动建模方法,深度学习提供了一种数据驱动的解决方案,并逐步发展成 ...

  3. 机器人学习--定位、建图、SLAM(声呐、激光等扫描束方案)的发展史

    本文作为学习激光SLAM尤其是2D激光SLAM的学习笔记,理清楚很多问题的前因后果,历史发展事件等, 读史使人明智. 假设已经知道了激光SLAM的代表方案:ROS wiki官方集成了的2D激光slam ...

  4. <Notes>城市复杂环境的视觉定位与建图(报告人:上交邹丹平教授)

    城市复杂环境的视觉定位与建图 出处:2022-05-19鹏城实验室线上分享 报告人:上交邹丹平教授 Google scholar 整理人:高斯球 其他资料:2018年邹丹平老师在北京大学题目为&quo ...

  5. se2lam翻译:基于 SE (2)-XYZ 约束的地面车辆视觉-里程计定位与建图

    摘要-本文关注的是地面车辆使用里程计和单目视觉传感器的SLAM问题,为了改进基于视觉的地面车辆估计精度,研究人员利用了近似平面运动的约束,通常将其作为 SE (3)位姿的随机约束来实现,在本文中提出了 ...

  6. 轻量化固态激光雷达的三维定位与建图

    点云PCL免费知识星球,点云论文速读. 文章:Lightweight 3-D Localization and Mapping for Solid-State LiDAR 作者:Han Wang, C ...

  7. 初识视觉SLAM 用相机解决定位和建图问题

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 引言:视 ...

  8. 低成本激光和视觉相结合的同步定位与建图研究

    低成本激光和视觉相结合的同步定位与建图研究 作者 尹磊,欧勇盛,江国来,彭建盛 文章目录 低成本激光和视觉相结合的同步定位与建图研究 1. 引言 2. 主要工作 3. 基于图优化的同步定位与地图构建框 ...

  9. 视觉同时定位与建图(vSLAM)

    Visual simultaneous localization and mapping: a survey 内容翻译自以下论文,不当之处敬请指正. Fuentes-Pacheco J, Ruiz-A ...

  10. ICRA2021| Intensity-SLAM:基于强度辅助的大规模环境定位和建图

    论文.代码地址:在公众号「计算机视觉工坊」,后台回复「Intensity-SLAM」,即可直接下载. 摘要:SLAM是一项基于传感器感知(如LiDAR和相机)可用于估计机器人位置并重建环境的任务.它广 ...

最新文章

  1. MYSQL explain详解[转载]
  2. 原来10张图就可以搞懂分布式链路追踪系统原理
  3. PopupWindow的使用
  4. Node中的Http模块和Url模块的使用
  5. FreeBSD 9.1安装KMS 这是一个伪命题###### ,9....
  6. Hyperledger Fabric 1.0 实战开发系列 第二课 Fabric环境搭建
  7. shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作
  8. 关于 SAP Fiori Elements 应用标题属性(title) 的复制逻辑单步调试
  9. php hash pbkdf2,PHP hash_pbkdf2 哈希(Hash)函数
  10. bash命令行中带通配符参数何时展开??
  11. 队列服务 php,php Redis 队列服务的简单示例
  12. 循环、选择要注意的复合语句
  13. jsp大作业_Servlet与JSP配合使用基本案例
  14. 在SQL Server中的数据库之间复制表的六种不同方法
  15. [postgresql]postgresql的锁介绍
  16. 计算机考研408-2010
  17. 青蛙跳台阶问题(超详解)
  18. 电脑查看曾经连接上的wifi密码
  19. 交换机上的指示灯狂闪
  20. bitbucket搭建

热门文章

  1. linux 块设备驱动实例,linux驱动由浅入深系列:块设备驱动之一(高通eMMC分区实例)...
  2. 锐界机器人_锐界境界之旅 寻一片净土 让心灵休憩
  3. 7-89 阶梯电价 (15 分)
  4. 分享几款优秀的JSON在线视图工具
  5. Spx 截图工具(带撕边效果) V6.0、7.0
  6. 得分矩阵PAM与BLOSUM的比较与区别
  7. pygame画弧线(pygame.draw.arc())
  8. CSDN 文章无法被百度搜索到
  9. 网络交易平台服务规范
  10. 爱的缘分_huadingjin_新浪博客