Cartographer算法调参

Cartographer算法调参

技术标签: Cartographer

根据Cartographer_ros文档翻译
Cartographer是一个复杂的系统,调整它需要很好地理解其内部工作。此页面试图直观地概述Cartographer使用的不同子系统及其配置值。如果您对Cartographer的介绍不仅仅感兴趣,还应参考Cartographer论文。它仅描述了2D SLAM,但它严格定义了此处描述的大多数概念。这些概念通常也适用于3D。

W. Hess, D. Kohler, H. Rapp, and D. Andor, Real-Time Loop Closure in 2D LIDAR SLAM, in Robotics and Automation (ICRA), 2016 IEEE International Conference on. IEEE, 2016. pp. 1271–1278.

概述

https://raw.githubusercontent.com/googlecartographer/cartographer/master/docs/source/high_level_system_overview.png

Cartographer可以看作是两个独立但相关的子系统。第一个是LocalSLAM(有时也称为前端局部轨迹构建器)。它的工作是建立一系列子图。每个子图都是本地一致的,但我们接受LocalSLAM随着时间的推移而漂移。大多数地方SLAM选项中可以找到install_isolated/share/cartographer/configuration_files/trajectory_builder_2d.lua 为2D和install_isolated/share/cartographer/configuration_files/trajectory_builder_3d.lua为3D。(对于本页的其余部分,我们将参考TRAJECTORY_BUILDER_nD作为常用选项)

另一个子系统是全局SLAM(有时称为后端)。它在后台线程中运行,其主要工作是找到回环约束。它通过对子图的扫描匹配来实现。它还结合了其他传感器数据,以获得更高级别的视图,并确定最一致的全局解决方案。在3D中,它还试图找到重力方向。它的大多数选项都可以在install_isolated / share / cartographer / configuration_files / pose_graph.lua中找到。

在更高的抽象上,LocalSLAM的工作是生成良好的子图,而全局SLAM的工作是将它们最一致地结合在一起。

输入

测距传感器(例如:LIDAR)提供多个方向的深度信息。但是,有些测量与SLAM无关。如果传感器部分被灰尘覆盖或者如果它被引向机器人的一部分,则一些测量距离可被视为SLAM的噪声。另一方面,一些最远的测量也可能来自不需要的源(反射,传感器噪声),并且也与SLAM无关。为解决这些问题,Cartographer首先应用带通滤波器,并仅将范围值保持在某个最小和最大范围之间。应根据机器人和传感器的规格选择最小值和最大值。

TRAJECTORY_BUILDER_nD.min_range
TRAJECTORY_BUILDER_nD.max_range

注意

在2D中,C

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值