cartographer实现纯定位

简介: cartographer实现纯定位

实现纯定位

 

(1)因为正常的cartographer的建图的map是由cartographer发布的;如下

 

rostopic info /map

Type: nav_msgs/OccupancyGrid

Publishers:

* /cartographer_occupancy_grid_node

因此需要把map的发布替换成

 

<node name="map_server" pkg="map_server" type="map_server"

args="/home/lx/carto_ws/map/2d-1.yaml" />

 

把原来的去掉

<node name="cartographer_occupancy_grid_node" pkg="cartographer_ros"

     type="cartographer_occupancy_grid_node" args="-resolution 0.05" />

这是在运行cartographer建图的launch文件中修改

 

(2)开启纯定位

在lua文件的配置参数中修改

 

 

TRAJECTORY_BUILDER.pure_localization_trimmer = {

max_submaps_to_keep = 3, //最大保存子图数,存定位模式通过子图进行定位,但只需要当前和上一个子图即可,我这里设置的是2

}

POSE_GRAPH.optimize_every_n_nodes = 20 //每20个有效帧一个子图,子图构建完成要闭环检测一次,这个数越小,

 

纯定位的原理

image.png


纯定位的TF树

image.png

图里map到footpint的tf就是机器人实际的位姿

 

关于纯定位的优化

 

纯定位至少有两个轨迹

纯本地化不同于映射。首先,我们期望本地和全局 SLAM 的延迟更低。其次,全局 SLAM 通常会在作为地图的冻结轨迹和当前轨迹之间找到非常大量的相互约束。

 

如果您在 中运行pure_localization,submaps.resolution 则应与.pbstream您正在运行的子图的分辨率相匹配。使用不同的分辨率目前未经测试,可能无法按预期工作。

 

POSE_GRAPH.optimize_every_n_nodes需要减小,则提高了优化的频率

减小global_sampling_ratio减小了全局的采样频率,减小constraint_builder.sampling_ratio减小了普通约束的采样频率。因此降低了计算量

 

运行纯定位,submaps.resolution(子图分辨率) 则应与.pbstream的子图的分辨率相匹配。

 

相关资料

Cartographer的纯定位模式在低性能处理器上的应用适配

blog.csdn.net/zhzwang/art…



相关文章
|
8月前
|
监控 搜索推荐 数据挖掘
精准定位目标客户群
精准定位目标客户群
232 2
定位有几种,他们的特点分别是什么? 是相对于什么进行定位的?
定位有几种,他们的特点分别是什么? 是相对于什么进行定位的?
99 0
|
5月前
定位
【8月更文挑战第25天】定位。
56 3
|
3月前
定位有几种,他们的特点分别是什么?是相对于什么进行定位的?
定位有几种,他们的特点分别是什么?是相对于什么进行定位的?
43 0
|
4月前
静态定位和固定定位
静态定位和固定定位。
40 1
|
8月前
|
搜索推荐
精准定位目标客户群并进行行为分析
精准定位目标客户群并进行行为分析
229 5
|
IDE 前端开发 安全
使用xpath定位遇到的坑
使用xpath定位遇到的坑
287 0
测试定位打卡
测试定位打卡
67 0
|
XML 数据格式 开发者
|
计算机视觉
HIMA F6706 通过控制回路来移动和定位
HIMA F6706 通过控制回路来移动和定位
HIMA F6706 通过控制回路来移动和定位