cartographer调参总结

举报
kobesdu 发表于 2022/01/28 13:36:57 2022/01/28
【摘要】 (1)POSE_GRAPH.optimize_every_n_nodes设置成0把后端优化去掉,相当于把前端和后端区分开来,这样如果建图有问题,说明是前端的参数需要调整,先优化前端而如果前端没有问题,再把此数值改回去,调整后端的参数(2)cere匹配器相关参数TRAJECTORY_BUILDER_nD.ceres_scan_matcher.translation_weight【翻译官方文档:...

(1)POSE_GRAPH.optimize_every_n_nodes


设置成0

把后端优化去掉,相当于把前端和后端区分开来,这样如果建图有问题,说明是前端的参数需要调整,先优化前端

而如果前端没有问题,再把此数值改回去,调整后端的参数

(2)cere匹配器相关参数


TRAJECTORY_BUILDER_nD.ceres_scan_matcher.translation_weight

【翻译官方文档:在我们的例子中,扫描匹配器可以在不影响分数的情况下自由地前后移动匹配。我们希望通过让扫描匹配器为偏离它得到的先验而付出更多代价来惩罚这种情况。控制它的两个参数是TRAJECTORY_BUILDER_2D.ceres_scan_matcher.translation_weight和rotation_weight。越高,将结果移离先验的代价就越大,或者换句话说:扫描匹配必须在另一个位置产生更高的分数才能被接受。】

 

TRAJECTORY_BUILDER_2D.ceres_scan_matcher.occupied_space_weight

权重越高,提供的先验位姿越不容易被改变

如果雷达频率低,就把地图的权重调大,而把平移和旋转的权重调小

TRAJECTORY_BUILDER_2D.ceres_scan_matcher.translation_weight

TRAJECTORY_BUILDER_2D.ceres_scan_matcher.rotation_weight

 

(3)雷达测量范围


TRAJECTORY_BUILDER_nD.min_range

TRAJECTORY_BUILDER_nD.max_range

带通滤波器,并且只将范围值保持在某个最小和最大范围之间。根据机器人和传感器的规格选择这些最小值和最大值

(4)提高实时性


低延迟是指在接收到传感器输入后不久就可以使用优化的局部姿态,通常在一秒钟内,并且全局优化没有积压。在线算法需要低延迟,例如机器人定位。在前台运行的本地 SLAM 直接影响延迟。Global SLAM 建立了一个后台任务队列。当全局 SLAM 无法跟上队列时,漂移会无限累积,因此应调整全局 SLAM 以使其实时工作。

相关网址

google-cartographer-ros.readthedocs.io/en/latest/t…

  官方网站

google-cartographer.readthedocs.io/en/latest/c…

google-cartographer-ros.readthedocs.io/en/latest/a…


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。