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…



相关文章
|
算法 定位技术
八叉树建立地图并实现路径规划导航(下)
八叉树建立地图并实现路径规划导航(下)
2821 0
八叉树建立地图并实现路径规划导航(下)
|
监控 数据可视化 Ubuntu
|
XML 存储 网络安全
ROS入门(二):launch文件解析
该文章是关于ROS入门的第二篇教程,详细解析了ROS中的launch文件,包括其运行方式、XML格式规范、标签使用、参数替代、条件属性以及通过简单和复杂案例来演示launch文件的使用,最后介绍了如何在参数服务器上设置参数。
ROS入门(二):launch文件解析
|
机器人
【ROS速成】半小时入门机器人ROS系统简明教程之安装测速(二)
半小时入门机器人ROS系统简明教程之安装测速
552 0
|
传感器 自动驾驶 机器人
大疆Livox Mid360 使用指南
本文是大疆Livox Mid-360激光雷达的使用指南,包括Livox Viewer 2的安装与使用、Livox SDK2的安装与演示、Livox ROS的配置与启动,以及一些使用时的注意事项。文章还提供了关于Livox Mid-360的详细特点、接线信息、尺寸信息、主控端IP设置、修改Livox Mid 360的IP方法、坐标系定义和IMU内参的介绍。此外,还提供了官方资料和软件下载的链接。
6557 2
|
传感器 存储 机器学习/深度学习
cartographer环境建立以及建图测试(详细级)
cartographer环境建立以及建图测试(详细级)
1722 1
cartographer环境建立以及建图测试(详细级)
|
传感器 存储 编解码
八叉树建立地图并实现路径规划导航(上)
八叉树建立地图并实现路径规划导航(上)
2158 0
八叉树建立地图并实现路径规划导航(上)
|
域名解析 Ubuntu 安全
如何在 Ubuntu 20.04 上安装 Visual Studio Code
Visual Studio Code 是一个由微软开发的强大的开源代码编辑器。它包含内建的调试支持,嵌入的 Git 版本控制,语法高亮,代码自动完成,集成终端,代码重构以及代码片段功能。本文主要为大家讲解两种在 Ubuntu 20.04 上安装 Visual Studio Code 的方式。
61323 1
如何在 Ubuntu 20.04 上安装 Visual Studio Code
|
机器人
[ROS2] --- action
[ROS2] --- action
485 0
|
JSON iOS开发 数据格式
在 VScode 中设置快捷键快速添加注释(文件头部、文件函数)
在编写代码的过程中,为了增加代码的可读性和维护性,我们通常会添加注释来解释代码的作用和功能。为了提高效率,我们可以在 VScode 中设置快捷键,以便快速添加注释,包括文件头部和函数注释。下面是详细的设置步骤:
6730 1
在 VScode 中设置快捷键快速添加注释(文件头部、文件函数)