Ros cartographer 搭载 landmark 保姆级操作上手教程
前言:
之前跑的bag中偶然发现在msg的bag包中,有Landmark数据的发布和订阅。Landmark在cartographer中作为定位为避免定位丢失,从而使之增加定位精度,和重定位,看完所有网页上能找到的文章,看后就一个字懵。
防止cartographer在长廊中因为激光雷达的射程范围不够导致后期回环中定位失效,以至自己设备的定位乱跳,如果不幸跳入墙体中,则会整个设备则会陷入假死
整体上landmark的引用方式,分为两种一种是反光标识工地上的反光柱,另一种则是使用固定的二维码和AprilTag
在cartographer中,landmark必须是tracking frame,一般是imu、laser、camera或者base_footprint如果提供landmark observations不低于10 Hz,那么可以设置TRAJECTORY_BUILDER.collate_landmarks = on
. Cartographer将deterministically运行(对于给定的bag, 使用offline node每次获得的结果是一样的). 如果collate_landmarks = off
, landmark observations将跳过sensor q