RBPF-SLAM algorithms (C++ library mrpt-slam)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RBPF-SLAM algorithms (C++ library mrpt-slam)相关的知识,希望对你有一定的参考价值。
MRPT中的RBPF-SLAM解决方案
1. pfStandardProposal
: 基于标准提议分布的序贯重要性重采样算法&任意类型的度量地图
Description: The pfStandardProposal
algorithm can be used with any metric map or combination of several of them simultaneously, provided that an observation likelihood function is implemented for the sensor observations in each map. This algorithm however is not recommendable since the “standard” proposal distribution is the motion model (the “actions“), and most of the particles will end up in areas incompatible with the observations, and thus, resampling will occur quite often. Only use this algorithm if the motion model is known to be very precise. Example config files:
2. pfAuxiliaryPFOptimal
: 基于任意类型度量地图的近似最优提议分布算法
Description: The pfAuxiliaryPFOptimal
algorithm (introduced in this and this papers) can be used with any metric map or combination of several of them simultaneously, provided that an observation likelihood function is implemented for the sensor observations in each map. The algorithm will automatically approximate the optimal proposal distribution disregarding the quality of the motion model. However, the worse the motion model, the longer it will take to run each iteration. Example config files:
$MRPT/share/mrpt/config_files/rbpf-slam/gridmapping_optimal_sampling.ini
: Grid mapping example with one SICK laser scanner and one mid-sized (~100m long) loop closure.$MRPT/share/mrpt/config_files/rbpf-slam/example_3_gridmaps.ini
: Three grid maps for three horizontal laser scanners at different heights.
3. pfOptimalProposal
: 基于栅格地图的最优提议分布算法
Description: The pfOptimalProposal
algorithm for grid maps corresponds to the heuristic approximation of the optimal proposal introduced by G. Grisetti et al. in: “Improved Techniques for Grid Mapping With Rao-Blackwellized Particle Filters”, Grisetti, G. Stachniss, C. Burgard, W. IEEE TRANSACTIONS ON ROBOTICS (2007) – PDF The implementation in MRPT relies on a version of ICP for gridmaps. An alternative implementation (independent of MRPT) is the popular gmapping. Note: pfOptimalProposal
requires setting the parameter pfOptimalProposal_mapSelection
(see example config files for details). Example config files:
$MRPT/share/mrpt/config_files/rbpf-slam/gridmapping_RBPF_grid_ICPbased_malaga.ini
: Grid mapping with a mid-sized loop closure.
4. pfOptimalProposal
: 基于点图的最优提议分布算法
Description: The pfOptimalProposal
algorithm for point maps is a version of the Grisetti et al.’s idea, but applied to point clouds (faster to update than grid maps). AFAIK, this method hasn’t been published in the literature, but works quite fine. Note: pfOptimalProposal
requires setting the parameter pfOptimalProposal_mapSelection
(see example config files for details). Example config files:
$MRPT/share/mrpt/config_files/rbpf-slam/gridmapping_RBPF_ICPbased_malaga.ini
: Point cloud mapping with a mid-sized loop closure.
以上是关于RBPF-SLAM algorithms (C++ library mrpt-slam)的主要内容,如果未能解决你的问题,请参考以下文章
C++ 用 <algorithm> 屏蔽字符串的所有字符,除了最后 n 个字符
C++ <algorithm> sort() 使用对象作为比较定义
C++ vector类型要点总结(以及各种algorithm算法函数)
在 C++ 标准中滥用 std::memory_order::relaxed 的示例 [algorithms.parallel.exec/5 in n4713]