3D惯导Lidar SLAM

LIPS: LiDAR-Inertial 3D Plane SLAM

摘要

本文提出了最*点*面表示的形式化方法,并分析了其在三维室内同步定位与映射中的应用。提出了一个利用最*点*面表示的无奇异*面因子,并在基于图的优化框架中证明了它与惯性预积测量的融合。所得到的LiDAR惯性三维*面SLAMLIPS)系统在定制的LiDAR模拟器和实际实验中都得到了验证。

导言             

准确、鲁棒的室内定位和地图绘制是非调音机器人应用的基本要求。室内环境通常是丰富的指示信息,如直线和*面,应加以利用,以实现高精度的同时定位和制图(SLAM)。尽管室内环境不允许使用GPS进行定位,但借助外部传感器(如摄像机[12]、光探测和测距(LiDAR)传感器[34]甚至声纳[5]的惯性导航系统(INS)已经证明有效。最*激光雷达传感技术在重量和尺寸上都有所减少,允许便携式和手持使用,每秒在周围环境中提供高达220万个数据点。激光雷达已被证明是有效的纹理少和低光环境,典型的办公室和建筑内部,提供高信噪比(SNR)的测量。从根本上说,激光雷达传感器不依赖于其他传感器(如相机)所需的照明或纹理特性。激光雷达传感器的一个挑战是如何处理大量无序的三维点数据,以便包含在估计。一传统的方法是使用迭代闭合点(ICP)解算器来确定姿势之间的相对变换。使用ICP只恢复相对姿态,防止在状态中包含信息量大的环境元素,如*面估计使用*面基元进行估计的第一个挑战是它们的参数化[6]。最常见的表示是*面的法向矢量和距离标量,称为黑森形式。自Hesse形式是一个过度参数化的形式,它在最小二乘中会受到奇异信息矩阵的影响。             

为了避免这种过度参数化,通常使用包含两个角(水*角和垂直角)和一个距离标量的球面坐标作为其误差状态表示。虽然这是最小的,但当垂直角等于±∏2时,它会受到模糊性的影响。最*,Kaess[6]提出使用单位四元数及其无奇异性的3自由度乘性误差状态,该状态与*面的几何联系不清楚,其数值稳定性可能不是最优的。相比之下,在这项工作中,提倡使用最*点(CP)表示法,该表示法由*面上距离给定参考系原点最*的点定义。CP表示不仅捕获了所有的几何*面信息,而且用一个简单的加法错误状态操作来最小限度地表示*面,从而得到数值结果优点。规格在财务上,利用飞机的CP代表性,通过对三维室内SLAM的图形优化,融合了三维激光雷达的*面原始测量和惯性测量单元(IMU)的运动信息(以连续IMU预积分的形式[78])。             

本文的主要贡献如下:             

•最*点(CP)*面表示法的制定、奇点分析及其在三维*面SLAM中作为*面表示和误差状态的使用。             

•设计一种新的激光雷达惯性三维*面SLAMLIPS)系统,该系统具有基于图形优化的鲁棒相对*面锚定因子,有效克服了CP表示的奇异性问题。             

•开发用于评估激光雷达辅助定位算法的通用激光雷达模拟器,该模拟器是开源的,以更好地造福社区。             

•通过蒙特卡罗模拟和实际实验验证提议的LIPS系统。

奇异性非常适合使用基于距离的传感器(如激光雷达和rgbd相机)进行*面估计,因为从这些传感器中提取的*面如果在提取的框架中表示出来,就不会被错误地定义。只有当将局部CP*面L∏转换为*面与其原点相交的框架时,才会出现奇异性(见图2),在[14]中还指出,从距离传感器中提取的接*与传感器框架相交的*面如果被发现和丢弃,应视为“不可靠”。

为了评估该系统的可行性,开发了一个定制的LiDAR-IMU模拟器。创建了一个二维*面图,并将其垂直拉伸,以创建一个Man hattan世界环境(为清晰起见,注意到CP表示可以处理任意*面方向)。一组有序的三维控制点用于创建穿过环境的三维样条轨迹(生成的轨迹见图5)。利用解析样条微分法,可以得到沿轨道任意时刻的真实IMU测量值。在给定的激光雷达探测频率下,光线是使用由角分辨率和垂直天顶确定的固有激光雷达传感器模型产生的角度。生成然后光线与环境中的所有*面相交,并找到所有光线*面交点。最后一步执行无效的交叉点,不应产生由于遮挡,通过强制每个光线只应击中*面,最接*的LiDAR帧。

在这项测试中,*面物体被放置在激光雷达周围,以便于进行RANSAC提取,避免退化运动[38],并确保激光雷达在所有自由度上都受到充分限制(见图6)。在10hz下工作的八通道量子M8激光雷达使用了附加在激光雷达底部的微应变3DM-GX3-25惯性测量单元以500赫兹工作的激光雷达。人工估计了激光雷达到IMU的外部变换,但这可以很容易地添加到因子图中进行在线估计。为了评估估计漂移,将传感器单元移到*面前面并返回到相同的起始位置。如图7所示,在30米的轨迹距离后,开始姿势和结束姿势之间的差异为1.5厘米,对应于在轨迹长度上0.05%的误差。

 

3D惯导Lidar SLAM的更多相关文章

  1. 3D惯导Lidar仿真

    3D惯导Lidar仿真 LiDAR-Inertial 3D Plane Simulator 摘要 提出了最*点*面表示的形式化方法,并分析了其在三维室内同步定位与映射中的应用.提出了一个利用最*点*面 ...

  2. 我用MATLAB撸了一个2D LiDAR SLAM

    0 引言 刚刚入门学了近一个月的SLAM,但对理论推导一知半解,因此在matlab上捣鼓了个简单的2D LiDAR SLAM的demo来体会体会SLAM的完整流程. (1)数据来源:德意志博物馆Deu ...

  3. WPF 3D 球面导览

    基于WPF的3D Sphere实现模式,升级实现了该3D导览Demo.先pose一张demo效果图 所有顶点的坐标来源于足球的顶点.足球整个球面完全由正五边形和正六边形拼成,每条拼缝的长度一致,故知道 ...

  4. WPF 3D足球导览

    根据博文:https://www.cnblogs.com/duel/p/regular3dpoints.html获取足球的3D坐标后,在每一个坐标位置创建一个ModelVisual3D元素,既能实现炫 ...

  5. okvis论文解读

    C. Keypoint Matching and Keyframe Selection 我们的处理流程采用定制的多尺度SSE优化Harris角点检测器与BRISK描述符提取相结合[12].检测器通过逐 ...

  6. SLAM的前世今生

    SLAM技术已经蓬勃发展起来,这里综述性地介绍下SLAM的主体知识.SLAM的主体技术不多,难点在于细节.来源是:技术分享.ppt 前世 人类惆怅近千年的问题不是:我是谁,我要做什么,我要去哪里!而是 ...

  7. SLAM(二)----学习资料下载

    有位师兄收集了很多slam的学习资料, 做的很赞, 放到了github上, 地址:https://github.com/liulinbo/slam.git ruben update 0823 2016 ...

  8. 三维视觉、SLAM方向全球顶尖实验室汇总

    本文作者 任旭倩,公众号:计算机视觉life,编辑成员 欧洲 英国伦敦大学帝国理工学院 Dyson 机器人实验室 http://www.imperial.ac.uk/dyson-robotics-la ...

  9. 83 项开源视觉 SLAM 方案够你用了吗?

    作者:吴艳敏 来源:83 项开源视觉 SLAM 方案够你用了吗? 前言 1. 本文由知乎作者小吴同学同步发布于https://zhuanlan.zhihu.com/p/115599978/并持续更新. ...

随机推荐

  1. 发现个利器--FastAPI(Py3.6+版本)

    from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"H ...

  2. 【转】在CentOS 8 / RHEL 8上配置主/从BIND DNS服务器

    转自: https://zh.codepre.com/centos-2700.html 前言 本指南描述了在CentOS 8 / RHEL 8 Linux上配置BIND DNS服务器所需的步骤.在Ce ...

  3. Python socket编程(阻塞) --基于SocketServer

    SocketServer模块是Python对socket常规通信的一个经过封装的模块,使用简单,基于面向对象的设计模式,但功能有限,可用于快速开发. Tips: 默认端口:6767 默认本地ip:12 ...

  4. 安全之路 —— 无DLL文件实现远程进程注入

    简介 在之前的章节中,笔者曾介绍过有关于远程线程注入的知识,将后门.dll文件注入explorer.exe中实现绕过防火墙反弹后门.但一个.exe文件总要在注入时捎上一个.dll文件着实是怪麻烦的,那 ...

  5. Python第四章-字典

    第四章 字典-当索引不好用时 4.0     字典可以理解成是C++里的map,可以映射任何类型.字典这种结构类型称为映射(mapping).   字典是Python中唯一内建的映射类型,字典中的值并 ...

  6. Nessus扫描器的使用

    目录 Nessus Scans Settings 一个基本扫描的建立 自定义扫描策略 Nessus的高级扫描方法 Nessus Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组 ...

  7. PowerShell-2.解决禁止本地执行脚本

    现象 直接找到XXX.ps1右键 使用PowerShell运行没反应,然后打开PowerShel把脚本推进去显示这个: 原因是因为脚本执行权限默认是Restricted,这个是禁止执行任何本地脚本. ...

  8. 通过修改EIP寄存器实现强行跳转并且注入DLL到目标进程里

    /* 描述 功能:通过修改EIP寄存器实现32位程序的DLL注入(如果是64位,记得自己对应修改汇编代码部分) 原理: 挂起目标进程,停止目标进程EIP的变换,在目标进程开启空间,然后把相关的指令机器 ...

  9. thymeleaf-extras-springsecurity在Spring或SpringBoot中html页面命名空间

    xmlns:sec="http://www.thymeleaf.org/extras/spring-security"

  10. SQL必学必会笔记 —— 基础篇

    基础篇 SQL语言按照功能划分 DDL(DataDefinitionLanguage),也就是数据定义语言,它用来定义我们的数据库对象,包括 数据库.数据表和列.通过使用DDL,可以创建,删除和修改数 ...