从单机到多机的无人机与机器人集群的SLAM综述

作者 | 徐枭涵  编辑 | 汽车人

原文链接:https://zhuanlan.zhihu.com/p/608056877

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【SLAM】技术交流群

本文只做学术分享,如有侵权,联系删文

前言

在本系列,我将会更新我的博士毕业论文“Decentralized and Distributed Collaborative Simultaneous Localization and Mapping System for Aerial Swarms”的中文科普版,有别于更专业的原版,这一版本主要包括更多的图片,相关工作带有的评述和思考,结果展示;降低一部分算法细节。本系列文章大概会是中文互联网最适合入门多机SLAM的论文之一;读者也可以通过本系列文章对移动机器人感知进行一些了解。

由于工程量巨大(我的thesis大概有150多页),所以请读者做好本系列文章会更新到夏季的心理准备。一个比较好的预期是每周或者每半个月会写一篇。也请关注我的专栏方便接收更新。

63328fda80c2af1b2a9fa89ab6c67caf.png

什么是SLAM?为什么我们需要多机SLAM?

一个良好的科普通常从生活中的现象开始,本文也不例外。到2023年,扫地机器人已经走入了千家万户。

一个良好的扫地机器人不仅仅能够灵活的绕开障碍物,也能自动返回到充电器附近对自己进行充电。实现这一技术的核心就是SLAM(实时定位与地图构建,由于这个中文名实在太长,后文简称SLAM)

1ff79b60e04d844986ab3e0b142c8bdc.png
使用D^2SLAM估计出的不同机器人移动轨迹
6bc6eb40a6ec4fe55f8ea2aa46e868a8.png
使用D2SLAM构建出的稠密地图

大家可能都知道GPS能确定自己的位置,然而GPS很容易受到干扰,在室内环境中更完全无法使用,其基本原理又限制了精度。SLAM技术就像是人类的眼睛+小脑,是几乎一切移动机器人的基础。其目标包括了两个:确定机器人自身在三维空间中的位置和姿态,并且构建出周边环境的地图。这是人类和动物与生俱来的本能,在机器人上是相当复杂的。

随着国内机器人产业的大发展,SLAM技术也在这两年逐渐普及开来,典型的应用几乎涵盖了正在改变世界的大部分工业产品:正大量出货的自动驾驶汽车,逐渐普及开的VR/MR虚拟现实设备和“元宇宙”,市面上的高价无人机,各家各户的扫地机器人,海底捞的送货小车等等。

坦白的说,时至今日,随着视觉,Lidar(激光雷达)两开花,现在的SLAM技术已经趋于成熟,请看下面香港大学林博 @ziv.lin 的工作。

c9d9f8f2435112ed92d7241d08a8da64.png
香港大学林博的杰作,激光视觉融合的SLAM:https://github.com/hku-mars/ImMesh
6e2e650de2381ea357e55c4f9636317c.png
香港大学林博的杰作,激光视觉融合的SLAM:https://github.com/hku-mars/ImMesh

在单机slam逐渐成熟的同时,研究届也正在转向一些更加困难的课题,这其中就包括了多机SLAM。

为什么我们需要多机SLAM?

设想我们有一群无人机

a7aedca9d19a0f8a18c3b3a150d84709.png

我们希望他们能在狭窄的室内环境或者森林中自由飞翔,去执行救灾,探险等任务。那么想要这些无人机不要在物理上打成一片,我们就必须做到几点:

  1. 确定每个无人机自身在空间中的位置。

  2. 确定其他无人机相对于无人机自身在空间中的位置。

  3. 每个无人机对周围的环境进行感知。确定障碍物的位置。

比较早期的研究者和商业公司,选择了一种粗暴的方式解决这一问题,使用外部定位设施,包括昂贵的动作捕捉系统(对,就是拍电影和Vtuber出道要用的那个),UWB基站,或在在宽阔的室外架设基站,使用rtk-gps来飞行,几乎所有已经商业化的无人机集群(表演)都使用了这一技术。

然而,非常精确的动作捕捉设备不仅仅昂贵,也局限于实验室环境--你不能指望无人机去参加救灾活动的时候先花几个小时假设一套动捕或者UWB基站吧?GPS说过了,容易被干扰且局限于室外,那么有什么比较好的办法解决这一问题呢?

答案就是多机的相对定位以及多机SLAM技术。

57f8fc6a51ac5b98391a98f832a5f7a2.png

截至2023年,这一类技术已经替代了用了20年的动捕,逐渐成为了无人机集群的标配。正是相对定位/多机SLAM技术的发展,使得真正完全自主的无人机集群成为了可能,相关工作的视频有两个值的一看。一个是高飞师兄组的science robotics大作,aerial swarm in the wild[1],这篇文章是全世界第一个完整展现了自然环境中的高度自主的无人机集群的演示,使用的多机技术互相定位技术正是参考了(或者说受启发?)接下来要介绍的我的工作Omni-swarm[2]

www.bilibili.com/video/BV1pv4y1K7zS/?spm_id_from=333.337.search-card.all.click&vd_source=5b500ce27249089310ee479674dfb683

其次是 @周博宇 博士和我合作的工作,Racer[3],这一工作展现了多个无人机集群对未知环境的探索。其定位方案则是直接使用的Omni-swarm

64589edcc4f9196d7bcaecf29c8322fc.png

www.bilibili.com/video/BV1F14y1g7cG/?spm_id_from=333.337.search-card.all.click&vd_source=5b500ce27249089310ee479674dfb683

多机SLAM技术都有哪些?

在正式进入话题之前,我们要简单的回顾一下现有的工作。目前的相对定位方案包括了如下几类:

视觉方案

使用视觉进行,例如捕捉红外灯光,marker,直接对其他无人机进行visual detection等;优势是视觉测量精确的相对定位,缺点是歧义性:搞明白哪个飞机是哪个是最大的问题。对于这一问题,解决方案包括不同的灯光组合[4][5],算法硬解等[6]

2d372cc23c1c4fd1300d669db25a785d.png

UWB 信息

UWB可以提供十厘米上下精度的测距信息。使用UWB测距信息也可以用于辅助定位,但是单一uwb信息并不可观,也缺乏定向信息。这使得我们需要和其他方法的融合[7]。

地图环境

使用环境地图方案进行相对和绝对定位通常是一个不错的想法[8],但是仅仅适用于环境特征较为稠密的室内,在室外则有诸多局限性。地图环境定位的另一个问题是需要较大的通信带宽。

我们的方案

这里给出我们方案思路的简述,在后续文章会逐渐分析。

UWB-视觉去中心化定位

首先是针对相对定位和绝对定位这一问题,我首先研究了使用UWB-视觉融合的方法,不仅仅使用uwb和odometry(里程计)融合,同样引入了精度更高的视觉检测方法对精度进行增强。该方法已经在实验中展现出了厘米级别的精度;并且是第一个在环境狭窄的室内实现紧密配合情况下飞行的无人机集群。后来高飞组在science robotics中使用的方案就和这一方案类似。

b6e5eacbef2e24a77be43a7e20bde4ac.png

该文章发表在机器人研究顶会ICRA上,文章链接是 http://www.xuhao1.me/files/ICRA2020hao.pdf

www.bilibili.com/video/BV1y7411y7Qx/?spm_id_from=333.999.0.0&vd_source=5b500ce27249089310ee479674dfb683

更全能的Omni-swarm

在前文所做的实验中,最令人头疼的事情之一是状态感知的初始化,作为一个高度自主的集群,我们希望他们能够只依赖自己而不是预先输入的信息完成初始化。于是后续对此方法进行了进一步改进,地图方案也被融入,于是不仅仅能完成相对定位,更展现出了全局一致性,并且针对初始化问题和可观测性进行了优化(ICRA版本需要运动来初始化,或者已知初始位置),这篇工作的名称是Omni-swarm。Omni意为全向和全能,我们还发现了对无人机集群很重要的事情:使用全向摄像头可以显著的改善可观测性。该文章也包含了迄今所有无人机相对定位的主流方案,所以被称作“Omni”。该文章发表于机器人研究顶刊,IEEE Transaction on Robotics (TRO)上,https://ieeexplore.ieee.org/document/9813359,

8d3acba4309ca02dbeefa7fd82cc0a20.png

代码已经开源在:GitHub - HKUST-Aerial-Robotics/Omni-swarm: A Decentralized Omnidirectional Visual-Inertial-UWB State Estimation System for Aerial Swar.

www.bilibili.com/video/BV1FV411H7Kg/?spm_id_from=333.999.0.0

Racer:未知环境的无人机群探索

在Omni-swarm的基础上,我们进行了现实环境的无人机探索任务,这是世界第一个完全去中心化的无人机群自主探索研究,正是去中心化且全能的“omni-swarm”,是这种任务成为了可能。这篇文章同样发表于TRO上,https://ieeexplore.ieee.org/abstract/document/10038280

a8f7b600b6561c5408a550fc2b4c3698.png
Racer飞行测试时的地面站截图,该地面站由我本人开发。

www.bilibili.com/video/BV1F14y1g7cG/?spm_id_from=333.337.search-card.all.click&vd_source=5b500ce27249089310ee479674dfb683

在Racer的研究中,我又得到了不少启发:1,自主无人机群仅仅在无人机互相距离较近的时候有相互高精度定位的必要,飞远了自然也没有必要互相避障了,这时候相对定位精度的重要性自然降低。2.当无人机相距较远的时候,互相并不碰面,这时候我们更关注的是全局一致性:也就是地图不能随着飞行轨迹的飞行而飘移,要飞一圈回来,飞机仍然在之前的地方,这样地图才能进行后续的应用。3.是uwb和视觉检测用起来有时候很麻烦,容易被复杂环境干扰。我们需要一个更加可靠且通用的方案,UWB也好,视觉检测也好,可以作为“dlc”挂进去,也可以根据环境的不同不去挂载。

D2SLAM:分布式,更高精度和全局一致性

在这些思考的基础上,我又加入了分布式计算的思想,做出了我博士期间的最后一个工作 SLAM。分布式和去中心化的联合SLAM系统。SLAM根据前文做出的反思引入了两个(在我看来比较重要的)观念:

  1. 无人机群的“近场“状态估计(near-field state estimation),当无人机集群中的飞机距离较近,通信良好的时候,我们有必要(为了互相避障和紧密协作)也有能力建立高精度的局部定位(自身状态估计)和无人机的互相定位。我把这部分能力称作近场估计

  2. “远场“状态估计(far-field state estimation),当无人机群中的飞机互相距离较远时,为了任务的完整性,我们关注的是地图全局一致性,也就是地图不能乱跑,这种能力被我称作远场估计。

SLAM的贡献在于良好的解决了上面的两种问题;在延续了我们已有的全向视觉的思想的同时,引入了分布式计算来改善计算效率。这篇文章已经投稿至TRO(是的我们就是这么热爱TRO), 预印本已经放在,https://arxiv.org/abs/2211.01538, 并且代码开源在了 https://github.com/HKUST-Aerial-Robotics/D2SLAM (文档和数据集逐步完善中)

www.bilibili.com/video/BV1eY4y1Q7j1/?spm_id_from=333.999.0.0

7955c99cfb4d72995d99012929199d83.png 752639ee4f19d67bbd96ffeb78088c36.png
使用D2SLAM重建的实验室
a6924ff4c4d3bf76a2f12cd21c82ac61.png

本系列文章后续会略微详细介绍我们的算法,和我个人的一些思考,时间有限更新不一定稳定。敬请关注。感兴趣的也可以先下载对应的论文。

小结

无人机群的状态估计是构建一个自主集群的最关键的基础技术之一,并且还在不断的发展中,有大量的问题未被解决。相比于路径规划,互相避障,环境探索等任务,被大众所知的程度也更低一些。本系列文章从我个人的研究出发,希望能给大家一个对此问题的基础认知。也希望更多朋友参与到这一问题的研究中来。

参考

  1. ^Zhou, Xin, et al. "Swarm of micro flying robots in the wild." Science Robotics 7.66 (2022): eabm5954.

  2. ^Xu, Hao, et al. "Omni-Swarm: A Decentralized Omnidirectional Visual–Inertial–UWB State Estimation System for Aerial Swarms." IEEE Transactions on Robotics 38.6 (2022): 3374-3394.

  3. ^Zhou, Boyu, Hao Xu, and Shaojie Shen. "Racer: Rapid collaborative exploration with a decentralized multi-uav system." IEEE Transactions on Robotics (2023).

  4. ^Walter, Viktor, Martin Saska, and Antonio Franchi. "Fast mutual relative localization of uavs using ultraviolet led markers." 2018 International Conference on Unmanned Aircraft Systems (ICUAS). IEEE, 2018.

  5. ^Xun, Zhiren, et al. "CREPES: Cooperative RElative Pose EStimation towards Real-World Multi-Robot Systems." arXiv preprint arXiv:2302.01036 (2023).

  6. ^Nguyen, Ty, et al. "Vision-based multi-MAV localization with anonymous relative measurements using coupled probabilistic data association filter." 2020 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2020.

  7. ^Xu, Hao, et al. "Decentralized visual-inertial-uwb fusion for relative state estimation of aerial swarm." 2020 IEEE international conference on robotics and automation (ICRA). IEEE, 2020.

  8. ^Lajoie, Pierre-Yves, et al. "Door-slam: Distributed, online, and outlier resilient slam for robotic teams." IEEE Robotics and Automation Letters 5.2 (2020): 1656-1663.

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署协同感知语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

07b863bde65831ea49b3fbd740f1af50.png 视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

bb907b1abac267fdcbd120c88738eb7f.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

818a0b7dda28454671f5aa1369471b44.jpeg

④【自动驾驶之心】平台矩阵,欢迎联系我们!

c9d44030c087f9e72da78e646d5e79a4.jpeg

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值