论文速递:带重力约束的点云配准(Gravity-constrained point cloud registration)

news2024/11/17 15:51:33

标题:Gravity-constrained point cloud registration

作者:Vladim ́ır Kubelka, Maxime Vaidis and Franc ̧ois Pomerleau,加拿大拉瓦尔大学

来源:IROS 2022

摘要

    视觉和激光SLAM算法从IMU中获益良多。高频率的IMU数据弥补了低频的传感器数据。除此之外,可以从重力向量中获取三自由度姿态中的两个。在视觉里程计中,IMU已经被用来将6自由度位姿估计转换为4自由度。在lidar SLAM中,重力测量在后端优化中经常被用来作为惩罚项来防止地图变形。在这篇文章中,我们提出了一种基于迭代最近点(ICP)的前端方法,其利用了重力向量提供的旋转可观自由度,并且提供了与重力向量对齐的位姿估计。我们相信这个方法可以支持回环检测,从而加速全局地图的优化。所提出的方法在DARPA比赛中已经被充分的测试过。我们的方法相比于传统的ICP算法,可以减小30%的定位漂移。并且,其代码已经作为libpoiintmatcher库的一部分开源给社区。

方法论

1. ICP Mapper

用norlab_icp_mapper(github同名)来建图。这是一个轻量化的建图系统,包含ICP与地图管理。没有使用全局优化。该系统包含以下几个步骤:

  1. 根据初始位姿估计将点云转到世界坐标系中去。

  2. 根据转换后的点云与地图做ICP配准。

  3. 将配准后的点云塞入到地图中去。

其中,第一步的初始位姿包含旋转与位移,旋转通过IMU给出,位移通过机器人的轮速里程计给出。为了系统的实时性,输入的点云被随机降采样过,并且根据里程计与IMU的信息去除了运动畸变。最后,只有一部分配准后的点云被塞入到地图中,以保证地图点云的密度不会过大。

2. 4-dof ICP

本文采用的是点到平面的ICP方法。首先定义要求解的transformation参数,为一个四维向量:

其中,γ是机器人旋转中绕着z轴的分量(即偏航角),而 t_x, t_y, t_z是旋转分量。传统点到平面ICP的误差为:

由于在配准前已经将点云转到世界坐标系,且仅对yaw角方向的旋转进行优化,因此重新将旋转参数化为

其中n_k是点q_k所在的平面。将上述的R代入到误差中,有

通过使得上式偏导数为0,可以求得最佳的γ, t:

将上述偏导数写成Aτ = b的形式,可得

令等式左边为A,右边为b,则有

上式可以通过cholesky 分解求解。为了构建A与b,需要进行一个k次的for循环。另一种构建公式的方法可以为:

从而有

ICP方法根据上式不断调整 τ的值,直到误差小于特定的阈值。我们的方法不调整roll与pitch,因此估计出来的旋转的yaw与pitch角与IMU估计出来的值相同。

实验

    本文的代码在libpointmatcher库,通过开启ICP匹配的force4DOF选项来获得。本文在两种实验条件下测试了我们的代码,其一是DARPA的地下环境,另一个是蒙莫朗西研究森林中的 1.5 公里长的森林步道。该数据集中,一个机器人在2021年三月,在这条道路的两侧沿着该道路行进了5次。

1. DARPA 比赛环境

DARPA比赛环境包括城市场景以及地下场景,DARPA官方给出了一个准确的点云地图,以此可以计算定位的真值。该实验给出了本文提出的方法的定位效果:

地下矿井的定位精度对比:

城市场景下的定位精度对比:

2. 蒙莫朗西 森林大尺度户外场景

将ICP的方法与本文的方法进行了对比,真值由GPS-RTK提供。

路线:

精度比较:

总结

    本文给出了一个在长直路线下,没有后端优化情况下的一种依赖于IMU的降维的ICP方法。(推测其不用传统激光SLAM方法的原因,一是为了节省算力给其他模块,二是路径中长直场景比较多。)相较于传统的6自由度ICP方法,其提供了更高的定位精度。在低速场景下,会有比较好的效果。此外,imu与lidar的外参误差也会影响定位的结果。

Abstract

Visual  and  lidar  Simultaneous  Localization  andMapping  (SLAM)  algorithms  benefit  from  the  Inertial  Mea-surement  Unit  (IMU)  modality.  The  high-rate  inertial  datacomplement  the  other  lower-rate  modalities.  Moreover,  in  theabsence of constant acceleration, the gravity vector makes twoattitude angles out of three observable in the global coordinateframe. In visual odometry, this is already being used to reducethe 6-Degrees Of Freedom (DOF) pose estimation problem to 4-DOF. In lidar SLAM, the gravity measurements are often usedas a penalty in the back-end global map optimization to preventmap deformations. In this work, we propose an Iterative ClosestPoint (ICP)-based front-end which exploits the observable DOFand  provides  pose  estimates  aligned  with  the  gravity  vector.We believe that this front-end has the potential to support theloop  closure  identification,  thus  speeding  up  convergences  ofglobal  map  optimizations.  The  presented  approach  has  beenextensively tested against accurate ground-truth localization inlarge-scale outdoor environments as well as in the SubterraneanChallenge  organized  by  Defense  Advanced  Research  ProjectsAgency (DARPA).  We show that  it can reduce  the localizationdrift  by  30 %  when  compared  to  the  standard  6-DOF  ICP.Moreover,  the  code  is  readily  available  to  the  community  as  apart  of  the  libpointmatcher  library.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/82815.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式:ARM的流水线技术

三级流水线ARM的组织 ARM的3级流水线介绍 到ARM7为止的ARM处理器使用的简单3级流水线分别为 取指级 :读取指令。译码级 :对指令进行译码。占有“译码逻辑”,不占有“数据路径”。执行级 :指令占有“数据路径”,寄存…

拼搏别样的未来,中国社科院与美国杜兰大学金融管理硕士项目助力你的人生旅程

你憧憬中的未来是什么样子呢?我们的人生路程充满了众多可能性,只要努力就会收获自己的别样人生。我们的人生不是单一的色彩,它是五彩斑斓、精彩纷呈的。在每一个阶段的我们所拥有当时的状态并不能代表永远,随着我们的拼搏与奋斗&a…

2022全年度空调十大热门品牌销量榜单

今年空调的销售得到明显改善,尤其是今年夏天全国多地最高气温同比明显提升,且高温的强度和持续时间还具有一定的极端性。随着气温的骤升,空调市场也迅速升温,各终端销售量出现明显增长。 根据鲸参谋数据统计,今年京东平…

“美亚杯”第五届中国电子数据取证大赛答案解析(个人赛)

A C D 分区5为系统分区 A 1073741824*458.29492085140520.96 E A A E D B 无答案 C 搜索各选项,C项搜不到 B C E 使用火绒剑查看进程调用的动态链接库 C 仿真得 B 内存大小为3G,在系统盘根目录过滤大小在2-8G之间的文件 D Win10时间线信息存放的数…

代码随想录算法训练营第六天| 哈希表理论基础 ,242.有效的字母异位词 , 349. 两个数组的交集 ,202. 快乐数,1. 两数之和

代码随想录算法训练营第六天| 哈希表理论基础 ,242.有效的字母异位词 , 349. 两个数组的交集 ,202. 快乐数,1. 两数之和 哈希表理论基础 建议:大家要了解哈希表的内部实现原理,哈希函数,哈希碰…

PAT 乙级 1078字符串压缩与解压 python

题目 思路: 生成两个函数:压缩与解压 在压缩中利用flag保留前一个字符串 再利用count统计重复出现字母的个数 如果目前遍历到的字母和flag相同,则count1 反之,说明重复结束 在解压中,如果遇到数字,表示需…

一文带你了解 K8s 是如何部署应用的

通过部署一个 Nginx 服务/实例来简单介绍 K8s 部署一个应用的流程。 1、创建 deployment 资源 kubectl create deployment nginx --imagenginx kubectl expose deployment nginx --port80 --typeNodePort2、查看 deployment 资源 kubectl get deployment3、查看节点上的 pod…

安全需求分析

汽车制造业 MES系统 DNC系统 生产 安全域1 管理层 工控安全隔离装置 交换机 安全配置核查系统 HMI 历史数据库 运行监控系统 实时数据库 打印机 过程 安全域2 监控层 工控漏洞扫描系统 安全交换机 工控安全审计系统 工控入侵检测系统 工程师站 A 操作员站 A 实时数据库A 操作员…

【菜鸡读论文】Margin-Mix: Semi-Supervised Learning for Face Expression Recognition

【菜鸡读论文】Margin-Mix: Semi-Supervised Learning for Face Expression Recognition 感觉最近的每天都在见证历史,上海现在也开始全面放开了,很多高校都已经开始遣返了。小伙伴们都回到家了吗? 上周周末太懒了,就没有更新论…

一文教你在SpringBoot中使用Thymeleaf

一文教你在SpringBoot中使用Thymeleaf1.快速使用Thymeleaf2.Thymeleaf快速入门案例3.Thymeleaf基本语法each遍历其他语法1.快速使用Thymeleaf 首先导入Maven依赖&#xff1a; <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thym…

怎么在图片加文字边框?这些方法值得你收藏

当我们在拍完照片以后&#xff0c;一般都会为它进行后期的编辑修图&#xff0c;因此在图片上面添加一些文字信息和边框是必不可少的&#xff0c;这样不仅能使图片变得更加精致&#xff0c;还可以增加它的信息量。那你们知道怎么给图片加上边框和文字吗&#xff1f;别着急&#…

uniapp实战仿写网易云音乐(一)—底部工具栏以及首页轮播图swiper的实现

文章目录前言首页导航栏公共样式的配置首页轮播图最后前言 从本篇文章开始记录uniapp实战仿写网易云音乐项目的过程&#xff0c;主要会写一下关键步骤和难点&#xff0c;本专栏会保持持续更新&#xff0c;并在最后送上源码&#xff0c;感兴趣的可以订阅本专栏。本篇主要实现的…

【C++11多线程】获取异步任务的结果:future、shared_future

文章目录1.std::future1.1 get()1.2 valid()1.3 share()1.4 wait_for()1.4.1 std::future_status::timeout1.4.2 std::future_status::ready1.4.3 std::future_status::deferred2.std::shared_future3.参考资料1.std::future std::future 是个类模板&#xff0c;其源码如下所示…

[附源码]Python计算机毕业设计大学生志愿者管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

【论文阅读】社交网络识别影响力最大节点方法综述-05

Vital nodes identification in complex networks识别单个重要节点的方法基于结构信息一、结构中心性&#xff08;Structural centralities&#xff09;1.度中心性&#xff08;基于邻域的中心性&#xff09;2.四阶邻居信息&#xff08;基于邻域的中心性&#xff09;3.ClusterRa…

html个人博客网站模板(源码)

文章目录1.设计来源1.1 首界面1.2 我的文章界面1.2 发表文章界面1.3 文章详细界面2.效果和源码2.1 目录结构2.2 源代码源码下载作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/128287493 html个人博客网站模板 html个人博…

多线程编程【POSIX信号量】

POSIX信号量&#x1f4d6;1. 信号量的定义&#x1f4d6;2. 二值信号量&#x1f4d6;3. 用信号量作为条件变量&#x1f4d6;4. 基于环形队列的生产者消费者模型我们知道&#xff0c;需要锁和条件变量来解决各种相关的&#xff0c;有趣的并发问题&#xff0c; Dijkstra及其同事发…

Redis限制一键登录次数

二、解决思路 因为项目实现一键登录采用的是 自有服务器调用 所以限制一键登录分为两步走&#xff0c;因为每个手机号有唯一的openid所以拿openid做redis的key值 &#xff08;1&#xff09;、调用云函数之前 调用云函数之前&#xff0c;前端会发起请求给后台&#xff0c;拿到这…

Metal每日分享,调整对比度滤镜效果

本案例的目的是理解如何用Metal实现调整对比度效果滤镜&#xff0c;调整对比度就是在保证平均亮度不变的情况下&#xff0c;扩大或缩小亮的点和暗的点之间的差异&#xff1b; Demo HarbethDemo地址 实操代码 // 对比度 let filter C7Contrast.init(contrast: 2.0)// 方案1:…

小红书热点怎么蹭?10个技巧,手把手带你用好热点

我们知道&#xff0c;热点是撬动流量的支点&#xff0c;运用得当能产生强大的爆发力&#xff0c;不论博主还是品牌都十分关注。那么小红书热点在哪里&#xff1f;怎么蹭热点&#xff1f;今天就来和大家聊聊&#xff0c;通过小红书热词排行榜、话题热度排好&#xff0c;蹭热点的…