我正在构建仅用于范围的本地化应用程序,我想使用MRPT粒子过滤器。我正在查看MRPT示例应用程序:
ro-localization
pf-localization
rbpf-slam
所有这些都在样本数据上运行良好,但是最终的姿势仅以2D返回。pf-localization
样本的设置为use_3D_poses = true
,但这只是为Z轴添加了0
返回。
我已经尝试将Z值添加到信标,但是姿势Z始终为零。如何在3D空间而非2D空间中使用MRPT粒子滤镜?
我只对移动节点的XYZ位置值感兴趣。
我如何使用自己的实时数据?我有:
锚位置锚点到移动节点的距离。
我正在从源代码构建的Windows上使用MRPT。
[在MRPT文档的this page中更好地描述了不同的RO-SLAM和RO本地化可能性。
在对自己的数据使用pf本地化时,可以直接使用mrpt::slam::CMonteCarloLocalization3D来使用自定义程序。或者,您可以继续关注最新版本的mrpt(git分支develop
),在此我们将很快将现有的pf-localization
CLI应用移植到mrpt::apps
中的C ++类中。后者的优点是重用了所有日志文件编写,3D场景抓取和在线可视化等功能。但是,没有什么可以阻止您直接前进并以pf-localization为起点构建自己的应用程序。
(免责声明:我是MRPT的首席开发人员)