cartographer近期调试总结

举报
kobesdu 发表于 2022/01/28 13:30:25 2022/01/28
【摘要】 1 当底盘发布odom的时候,carto的配置中published_frame = "odom", 说明carto发布的tf是: map -> footprintprovide_odom_frame = false, 此时Carto不需要发布odom如果为true,则tf树为map->odom->footprint当使用纯定位的时候,实际使用的就是carto到odom或者到footprint...

1 当底盘发布odom的时候,carto的配置中

published_frame = "odom", 说明carto发布的tf是: map -> footprint

provide_odom_frame = false, 此时Carto不需要发布odom

如果为true,则tf树为map->odom->footprint

当使用纯定位的时候,实际使用的就是carto到odom或者到footprint的tf

Tf树如同

image.png

2当底盘不发布odom的时候,

published_frame = " base_footprint", 说明carto发布的tf是 map -> footprint

3 carto建图的时候,地图是由浅色渐渐地变得深色的,但是】用gmapping也没问题

地图里有透明度值,激光没打到障碍物,穿过去了,激光穿过去的一条线上的栅格透明度值就会变大,看起来就变亮了

4 use_odometry = false, -- 是否使用里程计,如果使用要求一定要有odom的tf

TRAJECTORY_BUILDER_2D.use_imu_data = false

在里程计与imu不准的情况下,使用imu和odom反而建图效果会更差

5 实现纯定位的时候,创建一个新的lua文件

include "backpack_2d.lua"

TRAJECTORY_BUILDER.pure_localization_trimmer = {undefined

max_submaps_to_keep = 3,

}

POSE_GRAPH.optimize_every_n_nodes = 80

return options

其实只是包含了建图的lua配置数据,加纯定位的配置即可;

6 cartographer的lua文件被改后,需要重新编译才能生效。

7 cartographer建图及定位时候,可以多使用几个lua配置适配不同的场合。

8 高仙iros论文总结:位姿预测:imu预积分和里程计的efk融合

后端优化:添加了submap和submap的约束

地图更新这有点新工作,将删的子图保存下来,删除这个子图的时候,通过边缘化把这个子图的信息留下了,子图删掉了

9 一些错误的总结

(1)播放bag的时候错误 Check failed: sensor_to_tracking->translation().norm() < 1e-5 The IMU frame must be colocated with the tracking frame. Transforming linear acceleration into the tracking frame will otherwise be imprecise tracking frame不是imu的link 修改lua文件中的tracking frame设置

(2) WARN] [1522398152.672156241]: Timed out waiting for transform from base_footprint to map to become available before running costmap, tf error: Could not find a connection between ‘map’ and ‘base_footprint’ because they are not part of the same tree.Tf has two or more unconnected trees… canTransform returned after 0.105784 timeout was 0.1.

这时我们需要在acml_demo.launch文件中加上

(3)carto建图后保存的时候命令rosservice call /finish_trajectory 0报错

ERROR: unable to connect to service: remote error reported: client wants service /finish_trajectory to have md5sum 6e190c4be941828bcd09ea05053f4bb5, but it has 0feba73841cb434875547ca2a563a021. Dropping connection. 原因竟是因为没有把carto源码的工作空间source

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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