cartographer中分支定界法理解——为什么能保证上界

2023-05-16

定界原理

储存的不同分辨率栅格图,为保证上边界正确性,即高层中的评分一定高于其底层节点的评分,压缩的地图并非直接从原图固定间隔采样,而是将固定间隔中所有坐标概率值最大值作为低分辨率地图。

理解:

1、其在计算得分时,是计算点云(旋转、平移)索引对应的栅格值的得分,当分辨率低时,比如为64 右下图,对同样大小的地图(近似同样大小,会外扩width+1)点云索引落入黑色区域的可能性比高分辨率地图大得多,如左上图;

2、低分辨率地图是取64格中得分最高者为其得分;

在这里插入图片描述

 故在64分辨率地图中得分必然是32分辨率的上界

引用个公式,这个讲的太好了,数学上严格证明《无处不在的小土-分支定界闭环检测的原理和实现》,参数意思看原文

 

理解:

第一层为carto代码实现的逻辑,即低分辨率的层的得分总和是由包含外扩(width+1)的低分辨率地图计算得到,且每个索引对应的得分值取分辨率下的最大值(比如64分辨率下在1分辨率下应该有64个得分,取64个得分中最高的得分值作为64分辨率层的得分);第二层不包含外扩的;第三层是最高分辨率的叶节点的代码实现,即通过这种方式能保证低分辨率的层得分为高分辨率层的上界。

分支原理

剪枝原理比较简单,参考下列文章

参考文献:

cartographer 代码思想解读(2)- 分支定界快速相关匹配_jiajiading的博客-CSDN博客_cartographer 分支定界

无处不在的小土-分支定界闭环检测的原理和实现

cartographer探秘第四章之代码解析(五) --- 后端优化 --- 闭环约束2 --- FastCorrelativeScanMatcher2D_李太白lx的博客-CSDN博客

附一些比较完整的学习资料:

无处不在的小土-分支定界闭环检测的原理和实现

后端 6 快速相关性匹配 | 沉默杀手

cartographer探秘第四章之代码解析(五) --- 后端优化 --- 闭环约束2 --- FastCorrelativeScanMatcher2D_李太白lx的博客-CSDN博客

cartographer 代码思想解读(4)- probability grid地图更新1_jiajiading的博客-CSDN博客_cartographer scan-to-map

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cartographer中分支定界法理解——为什么能保证上界 的相关文章

  • 树莓派4b ubuntu系统开启串口

    树莓派4b安装ubuntu server18后如何开启串口 xff1f 树莓派4b的引脚图如下 xff1a 其中GPIO14和GPIO15是硬件串口 因为我安装的不是Raspian系统 xff0c 因此无法用raspi config打开该串
  • 惯性导航原理(1):导航坐标系及相互转换

    一 导航坐标系转换 坐标系介绍1 惯性坐标系 xff08 地心惯性坐标系 xff09 i系2 地球坐标系 xff08 地心地固坐标系 xff09 e系3 WGS 84坐标系 xff08 常用 xff09 blh坐标系4 当地水平地理坐标系g
  • win7系统下安装Ubuntu20.04.5系统保姆级教程

    一 制作u盘启动盘 准备工作 xff1a 一个空的8G大小的u盘 43 ultraISO软件 43 ubuntu系统的镜像文件 1 下载并安装ultraISO软件 下载地址 xff1a 百度网盘 请输入提取码 提取码 xff1a jv6a
  • 手把手带你免费打嘉立创pcb板

    手把手带你免费打嘉立创pcb板 前言一 熟悉规则二 下单1 下载安装下单助手2 领劵 注意 前言 嘉立创的新规则 xff1a 上个月消费没有满20的话只支持立创EDA画的板子 一 熟悉规则 嘉立创的免费规则和板子工艺要求如下 xff0c 大
  • ADRC学习与参数整定心得

    ADRC xff0c 中文名是自抗扰控制技术 继承了经典PID控制器的精华 xff0c 对被控对象的数学模型几乎没有任何要求 xff0c 又在其基础上引入了基于现代控制理论的状态观测器技术 xff0c 将抗干扰技术融入到了传统PID控制当中
  • ArUco相关

    ArUco相关 ArUco xff0c 一个开源的微型的现实增强库 https blog csdn net bashendixie5 article details 113769010 Aruco码估计相机位姿初步 xff01 xff01
  • ArUco

    文章目录 一 ArUco简介二 Marker和字典三 步骤1 创建Marker xff08 Marker Creation xff09 2 检测Marker xff08 Marker Detection xff09 3 姿态估计 xff08
  • Python PIP升级后执行命令报错: sys.stderr.write(f“ERROR: {exc}“)解决方法

    近日在使用pip时终端始终提示 You are using pip version 8 1 1 however version 21 0 1 is available You should consider upgrading via th
  • 戴尔Optiplex-7080装ubuntu16.04双系统时遇到的一些坑

    目录 ubuntu16 04安装过程中遇到的坑安装教程安装类型为空 xff08 读取不到磁盘 xff09 ubuntu16 04安装完成后无法启动windows ubuntu16 04无法连接无线网络 ubuntu16 04安装过程中遇到的
  • Ubuntu 16.04无法检测双屏/nvidia-smi显示no running processing found/nvidia-settings读取不到显卡信息

    问题 xff1a 1 笔记本ubuntu 16 04系统无法检测双屏 xff0c xrandr不显示hdmi接口或hdmi disconnectted 2 nvidia smi的最下方显示No running processes found
  • C++中的智能指针:shared_ptr

    本文主要参考 std shared ptr C 43 43 shared ptr共享型智能指针详解 std shared ptr 是一种智能指针 xff0c 它能够记录多少个 shared ptr 共同指向一个对象 xff0c 从而消除显式
  • pixhawk4 mini重启后死机

    pixhawk4 mini通过供电口供电 xff0c telement1口连接数传 xff0c usb口连接树莓派 xff08 机载计算机 xff09 此时如果用QGC地面站数传发送reboot指令 xff0c pixhawk4 mini关
  • C++利用auto对std::vector进行遍历时auto的类型

    先把结论摆在最前面 xff0c 当使用for auto amp node nodes 对std vector lt xxx gt nodes进行遍历时 xff0c auto定义的node其实是一个对nodes中对应元素的引用 具体的探究过程
  • 使用roslaunch为Gazebo加载自定义模型时黑屏、报错问题

    今天自己弄了一个dae类型的模型文件 xff0c 想要导入gazebo xff0c 按照gazebo world文件中导入dae模型的问题文章操作了一番 xff0c 编写如下 world文件 span class token operato
  • 点云地图导入gazebo思路

    参考这篇帖子下曹超大神的回答 xff0c 思路如下 xff1a 曹超CMU xff1a 如果不需要用地图渲染rgb图像的话 xff0c 我们通常的做法是把纯激光雷达点云地图导入CloudCompare进行downsample和计算每个点的n
  • Git删除历史commit记录中的大文件

    在使用Git的过程中 xff0c 常常会出现不小心commit了没用作用的大文件 xff0c 导致无法push到远程的情况 xff0c 并且即使删除了该文件重新commit xff0c 该文件也已经保存在历史commit中 xff0c 仍然
  • realsense d435 刷固件后连接失败问题

    刷固件后提示 Backend in rs2 create device info list 000001B00E9DF470 index 0 source gt QueryInterface uuidof IKsTopologyInfo r
  • 用Stm32CubeMX在STM32F107上移植LWIP(PHY:DM9161A)

    背景 有一块吃灰7年的神州IV号开发板 xff0c 主控芯片STM32F107VCT6 xff0c PHY芯片DM9161A xff0c 配套的资料都是当年ST的标准库 这个开发板应该是因为当年上市太匆忙 xff0c 资料和代码的细节部分做
  • ROS_Python编程 之 案例代码核心解析(第一版)

    ROS Python编程 之 案例代码核心解析 xff08 第一版 xff09 通过Handsfree mini机器人平台配套的中级教程 xff0c 我对ros python编程实现 传感器数据读取 运动控制 的知识做以下归纳 xff1a
  • 一个结束,又是一个开始

    随着大一期终考试的结束 xff0c 我的C语言学习之旅算是暂告一段落 xff0c 盘点下来我最多就只是学习了一些最皮毛的语法之类的东西 xff01 我同时从各种渠道了解到C语言的特殊地位 是许多计算机语言的根本 xff0c 我也体会到其中的

随机推荐

  • 如何使用 Ubuntu 配置可视化桌面环境?

    https developer aliyun com article 727585 如何使用 Ubuntu 配置可视化桌面环境 xff1f 迪科斯彻 2019 11 20 1340浏览量 简介 xff1a Ubuntu 是一个世界领先的开源
  • 如何将电脑的代理网络以WIFI热点的方式共享

    文章目录 写在前面如何设置PC端连接代理设置共享1 打开win10自带的 移动热点 2 选择 更改适配器选项 3 连接代理4 右键连接 xff0c 打开属性页面 5 重新连接代理 xff0c 重启移动热点注意共享给有线网络 测试 由于各地甲
  • mavros坐标系转换与方向

    2021 05 04更新 xff1a 本文中提到的kinetic版本的mavros中body系的坐标系问题已经被修复为FLU坐标系 xff0c 只需要更新kinetic版本的mavros即可 xff01 sudo apt install r
  • qsort快速排序用法--完整版(解释了cmp)【转】

    原文地址 xff1a http hi baidu com xuhanqiu item 99505e41aeef4eae61d7b916 用qsort快两年的时候了 却一直没有真正弄懂cmp函数的返回值1 1 0的函数 今天在做凸包时 郁闷了
  • 通过 docker 镜像 vcs 进行仿真

    学习空白的贝塔 摸鱼范式公众号 安装docker 并拉取镜像 远程 进行 vcs 与 verdi 的联合仿真 我踩得的坑一一列举 1 直接按照教程安装docker wsl 但是出现问题 安装失败 首先我的账户是中文名字 可能直接导致我安装失
  • FreeRTOS卡在SVC_Handler

    FreeRTOS已经实现了SVC Handler 和PendSV Handler 两个函数的功能 xff0c 对应port c中的vPortSVCHandler 和xPortPendSVHandler 为了使用FreeRTOS的这两个函数
  • 【Git】实现Gitee和Github仓库的同步操作

    本篇博客的设置方法同样可以适用于gitlab等其他平台 不多bb xff0c 直入主题 实现两个仓库的同步 1 准备两个仓库 分别在两个平台创建一个相同名字的仓库 xff0c 当然 xff0c 你也可以在a平台上导入b平台已有的仓库 xff
  • [ROS官方教程] catkin/CMakeLists.txt的使用

    目录 1 概述2 整体结构和顺序3 CMake版本4 功能包名称 package name 5 发现CMake Packages5 1 find package 做了什么5 2 为何将catkin packages指定为Components
  • C++工程:总结 CMake 添加第三方库依赖方式

    代码依赖 这种方式是把第三方库的完整代码直接添加到我们的项目中 xff0c 当做项目代码的一部分进行编译 xff0c 这种方式会把第三方代码和我们的代码混在一起 xff0c 并不推荐使用 首先我们需要到 jsoncpp 下载需要的头文件和实
  • 四款好看实用的CSS表格样式分享

    文章参考 xff1a https www w3cschool cn css css sfrk2opy html https www php cn css tutorial 375461 html https www laozuo org 2
  • 线程与进程,你真得理解了吗

    线程与进程 xff0c 你真得理解了吗 1 进程与线程的关系和区别2 并行与并发3 线程共享了进程哪些资源 相信大家面试时一定没少被一个问题刁难 xff0c 那就是进程和线程的区别是什么 xff1f 这个问题延申开来并不像表面那么简单 xf
  • Ubuntu18.04安装librealsense和realsense-ros

    目录 一 librealsense 1 二进制安装 2 源码安装 xff08 个人推荐 xff09 3 测试运行 4 报错 二 realsense ros xff08 2 3 0 xff09 一 librealsense intel rea
  • KaLibr校准 双目相机和IMU realsense D455

    kalibr安装参考我的另一篇博客https mp csdn net mp blog creation editor 117604718 除此之外 xff0c 需要自己准备棋盘 xff0c 以及棋盘的配置文件april 6x6 50x50c
  • ubuntu系统屏幕分辨率只有一个无法修改

    新装好的ubuntu系统 xff0c 如果没有办法调节适当的分辨率和刷新率 xff0c 多半是没有装显卡驱动 安装方法也很简单 xff0c 在software amp Update里面选择Additional Drivers 选择自己显卡的
  • mavros安装

    官方地址 xff1a https github com mavlink mavros 因为github有时侯不好上 xff0c 所以我自己弄了个gitee https gitee com qq408007026 mavros tree ma
  • ubuntu docker ROS主从机配置 screen ssh基本使用方法

    目录 1 docker安装 2 docker简单命令 3 镜像的使用 4 主从机配置 5 screen简单使用 6 SSH远程登录 7 docker进阶使用 部分参考https blog csdn net qq 42800654 artic
  • Ubuntu下VSCode配置Clang-format,并在保存时自动格式化代码的方法(带配置文件)

    花了一上午解决 xff0c google和百度查的还都有点奇怪 不能解决问题 xff0c 故Mark一下 Ubuntu环境中 xff0c 使用VSCode编译器 xff0c 在保存时自动格式代码还是很方便的 xff0c 有助于养成良好的编程
  • docker容器学习

    容器是什么 xff1f 容器是轻量级应用代码包 xff0c 它还包含依赖项 xff0c 例如编程语言运行时的特定版本和运行软件服务所需的库 镜像是什么 我们都知道 xff0c 操作系统分为 内核 和 用户空间 对于 Linux 而言 xff
  • 卷帘相机原理和卷帘门补偿(其中循环的理解)

    具体的这个文章讲的很清楚了 详细图解 xff0c 一眼就能看懂 xff01 卷帘快门 xff08 详细图解 xff0c 一眼就能看懂 xff01 卷帘快门 xff08 Rolling Shutter xff09 与全局快门 xff08 Gl
  • cartographer中分支定界法理解——为什么能保证上界

    定界原理 储存的不同分辨率栅格图 xff0c 为保证上边界正确性 xff0c 即高层中的评分一定高于其底层节点的评分 xff0c 压缩的地图并非直接从原图固定间隔采样 xff0c 而是将固定间隔中所有坐标概率值最大值作为低分辨率地图 理解