CeresScanMatcher的调优 2020-08-14

2020-08-14  本文已影响0人  OTTFFIVE

在我们的例程中,扫描匹配器可以在不影响匹配值的情况下,自由的向前或向后移动这个匹配。我们通过让扫描匹配器为之前获得的偏离付出更高的代价来避免这种情形,控制这个的两个参数是rotation_weight和TRAJECTORY_BUILDER_2D.ceres_scan_matcher.translation_weight。值越高,从之前的结果中移除它就需要越高的代价。换句话说:扫描匹配器在另一个位置必须生成一个更高的匹配值才能被接受。

出于教学的目的,让我们从先前的结果中制造一个相当大的偏离:

TRAJECTORY_BUILDER_2D.ceres_scan_matcher.translation_weight = 1e3

这使得优化器能够很好的充分的覆盖扫描结果,这一结果与之前的情况很接近,但与深度传感器不一致,而且明显是损坏的。对这个值进行试验会得到更好的结果,结果是2e2。

在这里,扫描匹配器使用旋转来稍微弄乱结果。将rotation_weight设置为4e2,给我们带来了一个合理的结果。

2.3 验证
为了确保我们没有对这个特定的问题进行过度优化,我们需要对其他收集到的数据进行配置。新的参数确实显示了下滑,所以我们不得不降低 translation_weight 到1e2。一般来说,总是试着调优一个平台,而不是一个特定的包。

参考文章:

https://blog.csdn.net/qq_26617115/article/details/78902371

上一篇 下一篇

猜你喜欢

热点阅读