当前位置: 首页 > news >正文

论文阅读:C2VIR-SLAM: Centralized Collaborative Visual-Inertial-Range SLAM

前言

论文全程为C2VIR-SLAM: Centralized Collaborative Visual-Inertial-Range Simultaneous Localization and Mapping,是发表在MDPI drones(二区,IF=4.8)上的一篇论文。这篇文章使用单目相机、惯性测量单元( IMU )和UWB设备作为每个智能体上的机载传感器,以构建准确高效的集中式协同SLAM系统,并设计了一个全局优化算法,利用视觉位置技术检测到的跨智能体地图匹配信息,以及智能体到智能体的距离信息来优化所有参与者的运动参数,并将局部地图合并成一个全局地图。

一、问题背景

未知静态UWB锚点虽然去除了位置校准过程的要求,但仍然需要进行分布式处理;在大规模应用中,由于UWB设备的有效作用范围有限,也需要不同区域的锚点。UWB信号也会受到干扰。这些因素限制了UWB辅助协同SLAM系统的应用。

与基于UWB的系统相比,基于视觉的协同SLAM需要更少的基础设施建设,并且不受测距测量块的限制。然而,智能体之间需要有共同的视图区域并具有条件不变的位置识别能力才能进行协作,这限制了任务执行的效率。共享的视觉地图也给多智能体系统带来了巨大的通信负担

虽然基于UWB和基于视觉的协同SLAM各有优劣,但研究者们已经提出了几种同时使用UWB和视觉来相互增强[ 4、5]的系统。然而,这些系统主要侧重于利用机载视觉系统来估计未标定的静态UWB锚点的运动和位置,严重依赖锚点进行协作

二、主要假设

1、多无人机集中式协同架构的基本假设

2、VIO、UWB的应用假设条件

三、理论流程

本文提出了一种新颖的集中式协同视觉/惯性/测距SLAM系统( C2VIR-SLAM ),仅依靠机载视觉、惯性和UWB测距设备即可实现精确高效的集中式协同SLAM。对于每个智能体,采用视觉-惯性里程计( VIO )估计运动参数并重建局部地图。同时,VIO估计的参数、本地地图和代理到代理的UWB距离信息被发布到中央服务器。然后服务器对运动参数进行优化,将局部地图合并为全局地图。

提出的C2VIR - SLAM包括四个主要部分:( i )单智能体视觉惯性里程计,它估计智能体的运动并重建被探索局部区域的地图;( ii )智能体之间的距离测量,使用机载UWB设备;( iii )位置识别,它检测所有智能体共享的地图中的回环,并估计参与者之间的相对运动;( iv )协作定位与地图构建,它优化所有智能体的运动参数并构建全局地图。

1、单机器人视觉惯性里程计

(使用VINS-mono)

2、位姿图协同定位

在中心服务器中执行协同定位,并将其建模为位姿图优化问题(结合板载UWB和视觉):

第i个智能体的t个关键帧数据,包含位置向量和四元数。

上述问题包含三个待优化残差。序列残差是指每个智能体内部VIO的相对运动约束。地图匹配残差描述了来自视觉位置识别组件的重定位约束。智能体间测距约束的UWB测距残差。

(1)来自里程计的序列约束

序列残差代表一个智能体的两个连续关键帧之间的变换:

(2)视觉位置识别的地图匹配约束

具体来说,对于一个新的查询关键帧,我们使用DBOW2外观相似度[ 20 ]将其与所有现有的关键帧进行比较。一旦相似度超过一定阈值,则尝试检测两个相似帧之间的循环。查询关键帧上的3D特征点与候选关键帧上的2D特征进行匹配,其中的特征被描述为BRIEF描述符[ 21 ]。然后,使用RANSAC算法通过求解透视N点( Perspective-N-Points,PNP )问题来评估3D - 2D连接[ 22 ]。一旦内点数量超过一定阈值,则被认为是有效的地图匹配约束。通过求解PNP问题,可以得到两个匹配关键帧之间对应的相对位姿,地图匹配残差为:

通过比较( 5 )和( 7 ),我们可以注意到,当顺序约束使用智能体内部的VIO状态时,地图匹配残差可以使用来自不同智能体的运动信息。现有的一些研究表明,将地图匹配残差引入到协同SLAM系统中,可以极大地提高[ 6、7 ]的精度;然而,这要求协作参与者具有共同的浏览地点和识别重叠的视图,这降低了效率,并给视觉识别组件带来了挑战。

(3)板载UWB的相对范围约束

当地图匹配残差需要共同访问的地点时,UWB可以直接测量两个设备之间的距离信息。在这里我们提出将UWB设备刚性地安装在协作代理上,这去除了锚点分布过程,更适合在未探索环境中的应用。

UWB测距模型:

在我们的系统中,UWB设备与代理一起安装在载体上。因此,得到的测距为两个对应智能体之间的距离;该测距信息可以作为观测量,通过定义残差项为,对里程计测量的运动参数进行修正

需要注意的是,位姿图优化可能是耗时的,只有在( 4 )式中加入地图匹配残差或UWB测距残差项时才有效。为了提高效率,我们在一个恒定的时间间隔内检查是否存在有效的地图匹配和UWB测量值,只有当在该时间间隔内存在地图匹配残差或UWB测距残差时才进行优化。

3、结合全局光束法平差的地图精化

计算协作代理共享的所有关键帧中所有特征的重投影,并优化状态χ和特征的3D位置,以最小化整体重投影误差。global bundle adjustment (GBA)的目标函数可以表示为:

重投影因子遍历所有关键帧和所有地图点。为了提高效率,GBA仅在有效的位姿图优化后执行。

四、实验方案

1、使用公开的EuRoC数据集(UWB数据模拟得到)

我们使用两个和三个智能体设置不同的序列组合对所提出的系统进行了测试,并将结果与CVI - SLAM [ 6 ]进行了比较,CVI - SLAM是一种最先进的使用视觉和惯性传感器的集中式协作SLAM系统。

2、使用自建的多无人机数据集Testing Zone数据集

Test Zone数据集包含两个实验,每个实验包含一个双智能体飞行。在国家智能网联汽车(中国长沙)试验区,利用两架DJI铸字用的铜字模600Pro无人机在300 m × 200 m的室外区域同时飞行采集数据。

五、创新总结

这篇文章从相比于VIR-SLAM,深挖了协同估计中单独使用UWB的不足(信号直线传播),将无人机群估计的知识与UWB-VIO相结合,总体属于组合创新,但也解决了实际问题。

  • 我们提出在所提出的C2VIR - SLAM系统中使用机载UWB设备,而不是校准或未校准的静态UWB锚点,这就消除了先验锚点分布过程的要求,并随着设备随智能体移动而扩大了UWB的有效范围;
  • 我们设计了一个能够单独或组合使用视觉或机载UWB的系统来进行协作定位和建图;
  • 我们在不同的数据集和不同的系统设置中进行了系统的实验,并全面分析了单独使用视觉、单独使用UWB以及它们的组合在协作中带来的性能改进。

相关文章:

论文阅读:C2VIR-SLAM: Centralized Collaborative Visual-Inertial-Range SLAM

前言 论文全程为C2VIR-SLAM: Centralized Collaborative Visual-Inertial-Range Simultaneous Localization and Mapping,是发表在MDPI drones(二区,IF4.8)上的一篇论文。这篇文章使用单目相机、惯性测量单元( IMU )和UWB设备作为…...

蓝桥杯刷题day01——字符串中的单词反转

题目描述 你在与一位习惯从右往左阅读的朋友发消息,他发出的文字顺序都与正常相反但单词内容正确,为了和他顺利交流你决定写一个转换程序,把他所发的消息 message 转换为正常语序。 注意:输入字符串 message 中可能会存在前导空…...

Python---引用变量与可变、非可变类型

引用变量 在大多数编程语言中,值的传递通常可以分为两种形式“ 值 传递 与 引用 传递”,但是在Python中变量的传递基本上都是引用传递。 变量在内存底层的存储形式 a 10 第一步:首先在计算机内存中创建一个数值10(占用一块…...

GDOUCTF2023-Reverse WP

文章目录 [GDOUCTF 2023]Check_Your_Luck[GDOUCTF 2023]Tea[GDOUCTF 2023]easy_pyc[GDOUCTF 2023]doublegame[GDOUCTF 2023]L!s![GDOUCTF 2023]润!附 [GDOUCTF 2023]Check_Your_Luck 根据 if 使用z3约束求解器。 EXP: from z3 i…...

Day43力扣打卡

打卡记录 子数组的最小值之和(乘法原理 单调栈) 大佬的题解 class Solution:def sumSubarrayMins(self, arr: List[int]) -> int:n len(arr)# 左边界 left[i] 为左侧严格小于 arr[i] 的最近元素位置(不存在时为 -1)left, s…...

elementui的table合并列,三个一组

<el-table :span-method"objectSpanMethod" :cell-style"iCellStyle" :data"tableData" height"63vh" border style"width: 100%; margin-top: 6px"><el-table-column type"index" label"序号"…...

HarmonyOS-Service服务开发(一)

文章目录 创建新项目启动Serviceets获取service的bundleName DataAbility开发指导开发Data步骤创建Data 创建新项目 ServiceAbility开发指导 在config.json中也有配置出现 启动Service ets获取service的bundleName 项目的bundleName service的bundleName 这里serviceAbil…...

FLASK博客系列4——再谈路由

最近好像拖更有点久了。抱歉抱歉~ 今天我们继续来聊聊路由&#xff08;其实就是我上次偷懒剩下一点没讲完&#xff09;。 通过上次的文章&#xff0c;我们基本了解了Flask中的路由&#xff0c;是不是比较简单呢&#xff1f;别急&#xff0c;今天来点猛料。 一、路由之HTTP方法绑…...

sql之left join、right join、inner join的区别

sql之left join、right join、inner join的区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接) 只返回两个表中联结字段相等的行 举例如下&#xff1…...

京东秒杀之秒杀详情

1 编写前端页面&#xff08;商品详情&#xff09; <!DOCTYPE html> <head><title>商品详情</title><meta http-equiv"Content-Type" content"text/html; charsetUTF-8" /><script type"text/javascript" src&…...

mobaxterm 下载、安装、使用

下载 官网 MobaXterm free Xserver and tabbed SSH client for Windows 下载页面 MobaXterm Xserver with SSH, telnet, RDP, VNC and X11 - Download 点击下载 安装 双击安装 勾选协议 修改安装路径 &#xff0c;等待安装完成 使用 启动 新建连接 输入主机用户名和密…...

办公技巧:Word中插入图片、形状、文本框排版技巧

目录 一、插入图片排版技巧 二、添加形状排版技巧 三、插入“文本框”排版技巧 我们平常在制作word时候经常会遇到插入选项卡下的图片、形状和文本框这三种情况下&#xff0c;那么如何使得Word文档当中添加这三个元素的同时&#xff0c;又能保证样式美观呢&#xff0c;今天小…...

apple macbook M系列芯片安装 openJDK17

文章目录 1. 查找openjdk版本2. 安装openjdk3. 多jdk之间的切换 在这里我们使用 brew 命令查找并安装。 1. 查找openjdk版本 执行&#xff1a;brew search openjdk&#xff0c;注意&#xff1a;执行命令后&#xff0c;如果得到的结果中没有红框内容&#xff0c;则需要更新一下…...

C语言——打印出所有的“水仙花数”

所谓水仙花数,是指一个3位数,其各位数字立方和等于该数本身。水仙花数是指一个三位数&#xff0c;它的每个位上的数字的立方和等于它本身。例如&#xff0c;153是一个水仙花数&#xff0c;因为1^3 5^3 3^3 153。 #define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>…...

<HarmonyOS第一课>应用程序框架 【课后考核】

【习题】应用程序框架 判断题 一个应用只能有一个UIAbility。错误(False)创建的Empty Ability模板工程&#xff0c;初始会生成一个UIAbility文件。正确(True)每调用一次router.pushUrl()方法&#xff0c;页面路由栈数量均会加1。错误(False) 单选题 API9及以上&#xff0c;r…...

自动驾驶学习笔记(十一)——高精地图

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo Beta宣讲和线下沙龙》免费报名—>传送门 文章目录 前言 高精地图 地图采集 底图制作 地图…...

HCIA-H12-811题目解析(2)

1、【单选题】 在以太网这种多点访问网络上PPPOE服务器可以通过一个以太网端口与很多PPPOE客户端建立起PPP连接&#xff0c;因此服务器必须为每个PPP会话建立唯一的会话标识符以区分不同的连接PPPOE会使用什么参数建立会话标识符? 2、【单选题】PPP协议定义的是OSI参考模型中…...

Docker-简介、基本操作

目录 Docker理解 1、Docker本质 2、Docker与虚拟机的区别 3、Docker和JVM虚拟化的区别 4、容器、镜像的理解 5、Docker架构 Docker客户端 Docker服务器 Docker镜像 Docker容器 镜像仓库 Docker基本操作 1、Docker镜像仓库 镜像仓库分类 镜像仓库命令 docker lo…...

Codeforces Round 911 (Div. 2)(C dp D gcd 分解+容斥 E tarjan+dp)

A.手玩题&#xff1a; 可以通过最后一个样例&#xff0c;如果是长度为3的连续O&#xff0c;直接在两边放就行&#xff0c;然后一直用中间的水填到其他地方 #include<bits/stdc.h> using namespace std; const int N 3e510,mod 998244353; #define int long long int n…...

给csgo游戏搬砖新手的十大建议

1、不要参与赌博性质的开箱和炼金&#xff0c;因为真的会上瘾&#xff0c;赚了还好&#xff0c;亏了你得哭。 2、实在想要玩饰品&#xff0c;直接去悠悠有品或者网易buff看价格&#xff0c;底价再砍10元&#xff0c;总会有人愿意卖的。 3、在steam上不要接受陌生人的好友申请…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)

题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...

消息队列系统设计与实践全解析

文章目录 &#x1f680; 消息队列系统设计与实践全解析&#x1f50d; 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡&#x1f4a1; 权衡决策框架 1.3 运维复杂度评估&#x1f527; 运维成本降低策略 &#x1f3d7;️ 二、典型架构设计2.1 分布式事务最终一致…...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...

comfyui 工作流中 图生视频 如何增加视频的长度到5秒

comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗&#xff1f; 在ComfyUI中实现图生视频并延长到5秒&#xff0c;需要结合多个扩展和技巧。以下是完整解决方案&#xff1a; 核心工作流配置&#xff08;24fps下5秒120帧&#xff09; #mermaid-svg-yP…...

人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型

在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重&#xff0c;适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解&#xff0c;并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...