0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一种完全分布式的点线协同视觉惯性导航系统

INDEMIND 来源:INDEMIND 2024-09-30 14:45 次阅读

在本文中,我们提出了一种完全分布式的点线协同视觉惯性导航系统。我们通过蒙特卡罗模拟和真实环境数据集,在稠密特征或稀疏特征环境下将所提出的算法与其他四种算法进行了比较。所有结果表明,我们的PL-CVIO优于独立的MSCKF和CVIO。

01 摘要

稀疏特征环境是几何计算机视觉(CV)算法的主要挑战之一。在许多人工场景中,通常存在稀疏特征情况,而线条可以被视为点特征的补充。本文提出了一种利用点和线特征的多机器人协同视觉惯性导航系统(VINS),通过在多状态约束Kalman滤波器(MSCKF)框架内使用协方差交集(CI)更新,每个机器人不仅利用自身的点和线测量数据,还利用邻近机器人观察到的共同点和共同线特征进行约束,采用最近点表示对线特征进行参数化和更新。该算法(PL-CVIO)经过蒙特卡罗模拟和真实环境数据集广泛验证,在稀疏特征和稠密特征环境中均表现出优于独立MSCKF以及我们先前CVIO工作成果的结果。

02 简介

近年来,SLAM技术受到了广泛关注,已经成为许多机器人和计算机视觉应用的核心技术,例如增强现实/虚拟现实、自动驾驶和机器人导航等。在GPS信号受限的环境中,通过使用低成本、轻便的车载摄像头和惯性测量单元(IMU),视觉惯性导航系统(VINS)及其相关算法已经获得了广泛的认可。不过事实上,多个机器人能够比单个机器人能够更有效地完成任务并实现更高的精度。但对于多机器人群体,有一个关键问题就是如何最好地利用环境信息和其他机器人的信息。

在人工环境中,线可以被视为对点的良好补充,特别是在稀疏特征环境中只能提取到少量点特征的情况下。在VINS中,有两种主要方法来处理点和线:间接(基于特征)和直接方法。具体而言,间接方法通过提取特征描述符并沿着序列进行匹配来预处理图像流。间接方法是通过最小化几何误差来优化系统。直接方法跳过了特征提取步骤,并直接使用行像素来优化光度误差。相比较,直接方法非常高效,但需要假设亮度恒定(忽略曝光变化),而实际环境中曝光会发生较大变化。

在先前的基于特征的VINS文献中,解决方案可以大致分为两类:基于滤波器的方法和基于图的方法。基于滤波器方法中最具代表性的是多状态约束卡尔曼滤波(MSCKF),它通过使用相同特征点的测量值形成了一个多约束更新。另一种领先技术是紧耦合单目图像VIO(VINS-Mono),它引入了鲁棒初始化和非线性优化. 此外,还有一些同时使用点特征和线特征的VINS算法。其中,点线视觉惯性里程计(PL-VIO) 是对VINS-Mono 的扩展,它可以在滑动窗口内优化点和线特征的重投影误差。PL-SLAM 提出了一个基于ORB-SLAM 的点线SLAM框架。还有研究者设计了适用于快门相机的Plucker 表示下的直线特征和提出了两种直线三角测量算法,以及对三种不同直线表示形式(Plucker, Quaternion, Closest Point) 及其相应可观测性进行深入分析.然而,以上所有方法都是集中在单个机器人情况下进行研究。

协作式VINS(C-VINS)的一个优势在于多个机器人共享共同特征,从而引入更多共同特征的几何约束。具体来说,群组中的每个机器人不仅观察其自己的测量值,还会收集来自多机器人群组的测量值。通过利用共同特征约束,机器人应用更新以改善定位性能。也存在一些集中式多机器人解决方案,但它们通常需要昂贵的计算和通信成本,分布式算法在这方面有着一些优势。最近,研究者采用M-Space表示不同类型特征提出了分布式点线协作SLAM(CSLAM)算法,但由于重复使用相同信息导致估计一致性无法保证.在 [Localization of a group of communicating vehicles by state exchange] 中,群组中每个机器人处理自己可获得的测量,并且只在特定时间步内与通信范围内其他机器人融合估计和协方差.DOOR-SLAM 提出了一个完全分布式CSLAM算法,包含姿态图优化模型和类似于[Data-efficient decentralized visual SLAM] 的数据高效分布式SLAM前端.文章 [Distributed maximum a posteriori estimation for multi-robot cooperativelocalization]提出了使用最大后验概率(MAP)进行完全分布式算法.我们之前的工作CVIO , 利用协方差交叉(CI)更新提供了一个完全分布式合作算法并可以保证一致性,但稀疏特征环境未被考虑进去.

在本文中,我们提出了一种利用点特征和线特征的完全分布式多机器人姿态估计算法。每个机器人不仅利用自己的点和线测量,还相互进行合作(见图1)。特别是在稀疏特征环境中,也就是缺乏稳健的地标,可以通过整合每个机器人独立获取到的点和线特征,并利用协方差交叉更新来更精确地估计它们的位置。为此,我们开发了PL-CVIO算法,并将其应用于最先进的OpenVINS系统中,该系统采用单目摄像头-IMU架构。通过在蒙特卡罗模拟和现实环境下进行测试,结果表明,在稀疏特征和稠密特征环境下,我们的算法都表现出更精确的定位能力。

wKgZomb6SSCAIYJfAAUtSR_Z5EI958.jpg

03问题概述

点线协同式视觉-惯性里程计的目标是在全局坐标系wKgaomb6SSCAdzerAAALj1hlV7Q090.jpg 中跟踪每个机器人wKgZomb6SSCARmSEAAABelFRPf4490.jpg的3D姿态,其中wKgZomb6SSCAJ-vpAAAB3L2Bipw997.jpg= 1, · · · ,n。与单个机器人不同,多个机器人可以相互共享共同特征。本文利用常见的点和线特征来提高定位精度。

A. 视觉-惯性里程计状态向量

为了执行PL-CVIO,每个机器人wKgZomb6SSCAJ-vpAAAB3L2Bipw997.jpg的状态向量被定义为:

wKgaomb6SSCAdTE3AAAS3zq30rQ839.jpg

B. 动态系统模型

对于每个机器人wKgZomb6SSCAJ-vpAAAB3L2Bipw997.jpg,IMU的线性加速度wKgZomb6SSCAZcKFAAALAvZfdUM756.jpg和角速度wKgaomb6SSGAObtXAAALRMoD1gk024.jpg的测量被建模为:

wKgaomb6SSGAFVnWAAAzBB47yvU251.jpg

C. 点-线测量模型

在稀疏特征环境中,线条是点的良好补充。因此,在本文中我们考虑了点和线测量。机器人wKgZomb6SSCAJ-vpAAAB3L2Bipw997.jpg的点测量可以描述为:

wKgaomb6SSCAUnqkAAAiDMWQq4E218.jpg

D. 独立点和线特征更新

为了进行独立的点或线特征更新,将对每个机器人应用标准的MSCKF更新。具体来说,我们会收集当前滑动窗口内所有的点和线测量,通过堆叠一个点或一条线的测量,我们可以利用IMU姿势的估计来三角化这个点特征或线特征。为简化符号表示,令wKgaomb6SSCAZ6MuAAAIavI9rkg852.jpg表示一个点特征或一条线特征,并且机器人wKgZomb6SSCAJ-vpAAAB3L2Bipw997.jpg的测量残差可以被线性化为:

wKgaomb6SSCAQ03AAAAX7rVfA34253.jpg

E. 共同点和线特征更新

需要注意,相邻的机器人可能会观察到共同的点或线特征。因此,我们将进一步利用相邻机器人之间的点和线特征约束来提高定位精度。机器人之间可以通信以共享信息。

RobotwKgZomb6SSCAJ-vpAAAB3L2Bipw997.jpg及其邻近机器人将对共同特征wKgaomb6SSCAXn_rAAANPMugvcA684.jpg应用线性化和左零空间投影。与第II-D节类似,机器人wKgZomb6SSCAJ-vpAAAB3L2Bipw997.jpg将使用wKgZomb6SSGAWpiFAAAH7JIdByM658.jpg进行EKF更新。然而,机器人wKgZomb6SSCAJ-vpAAAB3L2Bipw997.jpg不会放弃wKgZomb6SSCAWccLAAAGRutIW3k039.jpg,而是利用邻近机器人的共享信息。它将构建一个新的残差系统,该系统依赖于与自身和邻近机器人相关联的顶部部分堆叠在一起的共同点或线特征wKgaomb6SSCAXn_rAAANPMugvcA684.jpg

wKgZomb6SSCAK6VUAAA3XB7G4pw501.jpg

04模拟和实验

在本节中,我们利用蒙特卡罗模拟和真实环境数据集验证了协作情况下常见线特征对定位精度的提高以及独立情况下线特征对精度的改善。我们将在两种不同环境下通过表I比较我们的PL-CVIO算法与先前工作。稀疏特征场景包含少量特征,而稠密特征场景则包含足够多的特征。如表I所示,PVIO代表独立MSCKF算法,PLVIO代表独立点线MSCKF算法,P-CVIO代表我们之前的CVIO工作,IPLCP-CVIO是指不仅利用每个机器人的独立点、线特征还收集邻近机器人的共享点特性的算法,并且PL-CVIO使用了本文介绍的独立和共享点线功能。

wKgZomb6SSCAY-MGAACQ3DWzL30678.jpg

A. 蒙特卡罗模拟

在蒙特卡罗模拟中,我们利用了一个由三个机器人组成的小组。该小组中的机器人0按照数据集的真实轨迹运动,而机器人1和机器人2的轨迹则是通过向真实轨迹添加位置和方向偏移来创建。之后,如果当前帧中点或线测量数量低于阈值,则生成3D特征及其相应的2D测量。然后,收集并利用来自一个机器人共同特征以及邻近机器人共有特征的约束来更新当前状态。

wKgZomb6SSCAI50MAAD6AqnDR2Y733.jpg

wKgaomb6SSCAI5umAAFKKVn68MY631.jpg

稀疏特征和稠密特征环境通过提取不同数量的点特征进行划分。在稠密特征环境中,每帧的点特征数量为150,线特征数量为50。对于稀疏特征环境,我们将点特征数量减少到50。对于这两种环境,我们使用了First-Estimation
Jacobian(FEJ)和在线相机-IMU校准。在运行了30次蒙特卡罗迭代后,在稠密特征或稀疏特征环境的Udel Gore数据集下,相对姿态误差(ROE)和相对位置误差(RPE)的统计数据分别如图2和图3所示。可以看到,我们的PL-CVIO算法在两种环境中都优于其他所有算法。特别是在稀疏特征环境下,我们发现共同线可以明显降低ROE和RPE(如图3中的蓝色和红色条形图所示)。此外,有趣的发现是,如果每帧只观察到有限数量的点,PL-VIO将优于P-CVIO。在此情况下,共同点特征的数量也有限,因此仅依赖于共同点特征的协同方法P-CVIO可用资源有限。相比之下,进一步利用线特征的方法PL-VIO和PL-CVIO表现出更好的性能,而PL-CVIO则取得了最佳性能,因为它不仅利用了点和线特征,还利用了与邻近点的协作。

此外,我们还在所有的EuRoC V1数据集中对我们的PL-CVIO算法进行了模拟,并将其与P-VIO和P-CVIO在稀疏特征和稠密特征环境下进行了比较。

wKgaomb6SSCAIdUuAADpG6VJtC8209.jpg

每个机器人的方向和位置的均方根误差(RMSE)以及每种算法在各个环境中的平均RMSE都记录在表II中。RMSE结果显示,在所有模拟场景中,我们的PL-CVIO算法优于P-CVIO和P-VIO。特别是在稀疏特征环境中,PL-CVIO显著改善了姿态和位置的RMSE。

B. 实验

在现实环境的实验中,每个机器人的位置和方向都初始化为地面真值。我们使用FAST[37]从每个帧中提取点特征,并通过ORB与8点RANSAC算法进行跟踪以跨越帧或与其他机器人的点观测匹配。同时,利用LSD提取线段,并使用LBD进行跟踪。此外,我们还添加了一些异常值剔除策略,以删除满足以下条件的线段:(1)
LBD距离大于50;(2) 线段长度小于50像素;(3) 线段起点到该线的距离小于0.1或大于100;(4) 当应用SVD对该线进行三角测量时,线条视差太小会导致奇异性。

我们在TUM
Visual Inertial Dataset Rooms 1, 3和5中评估了我们的PL-CVIO算法,其中IMU频率为200Hz,相机频率为20Hz。我们加载同一房间的所有三个数据集,并分别使用三台机器人运行所有五种算法。此外,我们提取不同数量的点特征来模拟稀疏特征和稠密特征环境。因此,在图4中展示了我们的PL-CVIO算法与其他四种算法在稠密特征环境下的实验结果,并在图5中展示了稀疏特征环境下的实验结果。同时,在表III中展示了利用不同算法在TUM数据集上每个机器人方向和位置的均方根误差(RMSE)。从ROE/RPE和RMSE结果可以明显看出,线特征可以提高P-VIO的准确性,而共享点-线功能则可以改善P-CVIO的性能。另外,在稀疏特征场景中通过比较P-VIO和PL-VIO以及P-CVIO和IPL-CP-CVIO可见线条显著改善了性能,如表III所示.最终,在所有实验案例中,我们的PL-CVIO算法均优于其他四种算法。

wKgZomb6SSCAenFpAABZBhdEIfo210.jpg

05 总结

在本文中,我们提出了一种完全分布式的点线协同视觉惯性导航系统。我们通过蒙特卡罗模拟和真实环境数据集,在稠密特征或稀疏特征环境下将所提出的算法与其他四种算法进行了比较。所有结果表明,我们的PL-CVIO优于独立的MSCKF和CVIO。此外,我们验证了线特征可以改善独立情况下定位的准确性,并且共享线特征在协作情况下表现更好。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 滤波器
    +关注

    关注

    159

    文章

    7619

    浏览量

    176742
  • 机器人
    +关注

    关注

    210

    文章

    27897

    浏览量

    204870
  • 算法
    +关注

    关注

    23

    文章

    4562

    浏览量

    92106
  • 惯性导航系统

    关注

    1

    文章

    22

    浏览量

    5341

原文标题:干货丨点线协同式视觉惯性导航,提升定位精度和效率

文章出处:【微信号:gh_c87a2bc99401,微信公众号:INDEMIND】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    捷联惯性导航系统

    捷联惯性导航系统
    发表于 08-17 12:06

    分布式系统的优势是什么?

    当讨论分布式系统时,我们面临许多以下这些形容词所描述的 同类型: 分布式的、删络的、并行的、并发的和分散的。分布式处理是个相对较新的领域,
    发表于 03-31 09:01

    惯性导航系统、加速度计、陀螺仪的原理

    导航系统.具体来说惯性导航系统属于一种推算导航方式。即从
    发表于 05-18 06:15

    详解GPS导航系统中的惯性技术

    惯性器件研究方面,体积小且价格低廉的MEMS惯性传感器,和高精度、高性能FOG在未来段时间仍将是受关注的焦点。受现代计算机技术快速发展的影响,平台式导航系统将被捷联
    发表于 06-13 08:00

    请问怎么设计一种分布式无线测控系统

    怎么设计一种分布式无线测控系统?无线测控网络系统具有哪些优点及应用?
    发表于 04-13 06:29

    款轮式小车惯性导航系统的设计方案

    为什么要设计个轮式小车惯性导航系统?轮式小车惯性导航系统的软件装置怎样去设计?轮式小车惯性
    发表于 04-19 11:35

    请问怎样去设计一种嵌入船舶导航系统

    本文介绍了一种基于GPS和电子海图、使用嵌入Linux操作系统的船舶导航系统
    发表于 06-04 06:43

    怎样去设计一种小容量分布式光伏电站信息采集系统

    小容量分布式光伏电站信息采集系统是由哪些部分组成的?怎样去设计一种小容量分布式光伏电站信息采集系统
    发表于 10-22 06:22

    怎样去设计一种基于STM32的视觉导航系统

    为什么要设计一种基于STM32的视觉导航系统呢?怎样去设计一种基于STM32的视觉导航系统呢?
    发表于 11-18 07:08

    一种结构化道路环境中的视觉导航系统详解

    根据结构化道路环境的特点提出了一种将边沿检测和道路环境知识相结合的机器视觉算法 , 并结合基于行为响应的路径规划方法和智能预瞄控制方法 , 实现了套基本的机器人视觉
    发表于 09-25 07:23

    VxWorks在惯性导航系统中的应用

    嵌入实时操作系统VxWorks在惯性导航系统中的应用
    发表于 03-29 12:26 18次下载

    三分钟了解惯性导航系统、加速度计、陀螺仪的工作原理

    惯性导航系统 INS( Inertia Navigation System ,以下简称惯导 ) 惯导是一种利用惯性传感器测量载体的比力及角速度信息,并结合给定的初始条件实时推算速度、位
    发表于 04-26 09:06 6.7w次阅读
    三分钟了解<b class='flag-5'>惯性</b><b class='flag-5'>导航系统</b>、加速度计、陀螺仪的工作原理

    基于FPGA的惯性导航系统设计

    惯性导航系统(INS,Inertial Navigation System)也称作惯性参考系统,是一种不依赖于外部信息、也不向外部辐射能量(如无线电
    发表于 03-04 09:25 2965次阅读

    INS是一种不依赖于外部信息的自主导航系统

    惯性导航系统(INS)也称作惯性参考系统,是一种不依赖于外部信息、也不向外部辐射能量(如无线电导航那样)的自主
    发表于 06-08 15:29 2491次阅读

    惯性导航系统的优缺点

    惯性系统一种自主航位推算导航系统,它利用惯性传感器、参考方向和初始位置信息来确定载体的方位、位置和速度。它至少应包括
    的头像 发表于 07-06 15:24 3998次阅读
    <b class='flag-5'>惯性</b><b class='flag-5'>导航系统</b>的优缺点