LaMa:一个定位和建图库

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体积网格的框架。它将空间划分为小的稠密块,这些稠密块可通过稀疏数据结构寻址。为了提高内存使用率,可以在实时操作期间使用低损耗的无损数据压缩(当前为lz4Zstandard)每个块。它可以替代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

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
big-lama.zip是一个文件压缩包,包括了一个名为big-lama的文件。通常,使用.zip扩展名的文件是为了将多个文件或文件夹组合成一个单独的文件。压缩文件可以减小文件的大小,方便传输和存储。使用压缩文件可以节省磁盘空间,并且在将文件发送给其他人时可以更快地上传或下载。 big-lama.zip可能是一个包含大量数据或文件的文件压缩包。通过将这些文件压缩到一个压缩包中,可以更方便地进行管理和传输。因为big-lama.zip是压缩文件,所以我们需要一个解压软件来解压缩它。在解压缩后,我们将能够访问big-lama文件。 在解压big-lama.zip之前,请确保您具有可解压缩该文件的软件。一些常见的解压缩软件包括WinRAR、7-Zip和WinZip等。如果您没有这些软件,您可以在互联网上找到并下载它们。 解压big-lama.zip的步骤是:首先,找到big-lama.zip文件所在的位置。然后,右键单击该文件,并选择打开或解压缩(具体选项根据您所使用的解压软件而异)。在解压缩完成后,您将会看到一个文件名为big-lama的文件在您选择的目标文件夹中。 通过解压big-lama.zip文件,我们可以访问和使用big-lama文件中的内容。请注意,文件扩展名可能会根据文件类型而有所不同,例如:.txt表示文本文件,.jpg表示图像文件等。因此,您可能需要选择适当的应用程序来打开big-lama文件,以查看其内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值