OmniNxt 论文阅读

news/2025/3/10 6:12:01/文章来源:https://www.cnblogs.com/odesey/p/18664082

来源: https://arxiv.org/html/2403.20085?_immersive_translate_auto_translate=1

标题: OmniNxt: A Fully Open-source and Compact Aerial Robot with Omnidirectional Visual Perception

OmniNxt 感觉是, 取自 Omnidirectional 中 全的意思, Nxt 像是 Next 的意思,表示未来

摘要:

1. 为什么提 Omnidirectional Visual Perception(全景视觉感知),摘要在说什么?

为了提高了感知能力,显着提升了空中机器人在检查、重建和救援任务中的能力。全景视觉感知 就需要 omnidirectional Field of View (FoV) cameras,也就是全景相机。

缺点:系统复杂,需要 硬件设计和相应的算法支持

OmniNxt 是一个具有全向感知的完全开源的空中机器人平台。

  • 硬件设计:高性能飞行控制器 Nxt-FC 和多鱼眼相机组
  • 软件设计:有限的计算资源占用下实现精确定位和实时密集建图

引言

1. omnidirectional FoV 的优点

omnidirectional FoV:

  • 更稳健、更高效地执行 exploration、reconstruction、rescue 等任务
  • 提高了挑战性环境中的定位精度
  • enables minimizing the indirect-controlled yaw rotation during the flight,从而提高自主导航等下游任务的能源效率。 也就是说:飞行中不用故意旋转就能看到目标,更省电

2. 没有 open-source omnidirectional FoV platforms 的障碍?

  • (1)传感器配置:需要多鱼眼相机组,在结构设计、硬件开发和细致的校准方面困难
  • (2)算法开发:所有算法,即定位、建图、规划器和控制器都应该适应于正确利用增加的信息。
  • (3)系统集成:对每个组件进行广泛的测试和优化对于确保受尺寸和计算资源限制的系统内稳定可靠的性能至关重要。应仔细考虑和优化系统延迟、资源占用和整体性能,以在实际场景中实现健壮和稳定的功能。

3. 本文中 omnidirectional FoV platforms 设计的原则是什么?

COPE criteria:

  • Compact: 在硬件层面,传感器组件应该紧凑,以尽量减少平台的尺寸和重量,从而提高可操作性。此外,关键软件模块应消耗最少的系统资源,为进一步的任务和开发提供灵活的环境。
  • Open-source: 所有硬件和软件都应该开源,这有利于社区的凝聚力复制、开发和增强。
  • Perceptive: 通过摄像头、IMU等传感器感知周围环境的综合信息和低噪声测量。另一方面,相应的算法应该能够有效地处理和利用传感器的输入,以提高系统的鲁棒性和稳定性。
  • Extendable: 硬件应开发为允许跨平台无缝交换和迁移,从而扩大当前设计的实用性。与此同时,软件应该是模块化的并且易于更新,以加快新兴算法的验证和后续应用的适应。

4. 通过 COPY 准则,本文的贡献是?

  • 【1】An open-source and compact hardware platform with omnidirectional FoV:
    • 硬币大小的高性能飞行控制器 Nxt-FC,为视觉惯性里程计(VIO)提供 500 Hz 低噪声 IMU 数据
    • 多鱼眼相机组来支持全方位感知。该套件还向 VIO 提供同步图像,其中还提供相机驱动程序和校准工具。
  • 【2】An open-source and real-time omnidirectional perception framework: It consists of two principal components, Both are devised as resource-efficient modules:
      1. Omni-VINS :提供精确的VIO
      1. Omni-Depth:omnidirectional dense mapping
  • 【3】进行了大量的实际实验来彻底评估所提出的系统
    • 出色的定位精度和可靠的点云质量
    • 平台的实用性
    • 适应性:与一系列传感器的兼容性以及易于修改以适应不同应用

相关工作

硬件设计

image

  • UpDown 结构:摄像机通常具有 250 至 360 度 FoV, 受到图像扭曲的影响更大
  • Corner 结构通常采用三个或更多摄像机, 180到 210 FoV, 涉及更复杂的校准

UpDown 结构:在室内环境中表现出更高的里程计精度。这可以归因于在图像失真较小的区域(中心)进行特征提取和跟踪的可能性更大。在户外环境中的表现往往不太理想。
原因是,当系统在户外运行时,在更大的失真区域(边缘)更有可能提取和跟踪特征,从而在系统状态的估计中引入更多的噪声。

像全向 DSO 一样,基于角结构,由于图像输入失真较小,因此在两种情况下都可以获得更高的精度。然而,与VINS 等基于特征的方法相比,直接方法由于其对运动模糊和图像照明变化的敏感性而不适用于敏捷机动平台。

看来本文也是用的 Corner 结构,但是算法不是用的直接法,而是用的特征方法。

Omnidirectional Depth Estimation

由于严重失真,从鱼眼相机捕获的多张图像中 Retrieving(获取) 密集的深度信息具有挑战性。现有的解决该问题的方法可以分为直接方法和间接方法。

direct methods:

  • OmniMVS:采用神经网络直接从原始图像中获取密集的深度信息。然而,这些方法往往难以跨不同相机进行泛化,并且很难满足资源有限平台上的实时要求。

间接方法旨在将原始图像转换为由虚拟针孔相机捕获的多对立体图像,如:

  • 半全局匹配(SGBM)在资源有限的平台上获得密集的深度估计
  • 采用CNN来获得更密集的深度估计

本文的方法类似于 采用CNN来获得更密集的深度估计, 在资源有限的平台上实现了实时推理速度,同时在实现中保持了更灵活的结构。

可用平台 介绍

  • FLA [ 4 ]和 MRS [ 5 ]等现有平台是为开放区域的数据收集和自主导航而设计的。这些平台共享类似的解决方案,利用基于 PX4 [ 19 ]的飞行控制器、仅 CPU 的机载计算机、单声道或立体相机以及 LiDAR。然而,由于引入激光雷达来获取密集地图,实现其设计的紧凑性和轻量化具有挑战性。另一方面,该平台专为积极的规划和控制而设计,优先考虑最大化推重比(TWR)。这一类别中一个著名的平台是 Agilicious [ 6 ] 。
  • 与上述平台不同,Agilicous [ 6 ]通过采用狭窄的硬件设计实现了紧凑性和轻量化,这使得该平台具有较高的TWR,但很难集成额外的传感器。这种限制给访问全面的周围环境带来了挑战,限制了其对未来任务的适用性。
  • 此外,DJI MAVIC 3T [ 11 ]和SKYDIO X10 [ 12 ]等商业平台并未开源,阻碍了进一步的开发和算法验证。它们的大尺寸和重量也限制了应用范围。

本文的平台:OmniNxt Platform

image

硬件由三个关键组件组成:

  • Nvidia Jetson Orin NX:运行频率为 2.0 GHz 的 8 核 CPU 和具有 1024 个 CUDA 的 GPU核心。 CPU和GPU共享统一的16G RAM
  • 多鱼眼相机组:20 Hz 的全向图像,所有四台摄像机均通过一台摄像机触发其他三台进行同步
  • 低噪声飞行控制器:提供 500 Hz 低噪声 IMU 数据

软件框架分为以下四个部分:

  • Omni-VINS: 该模块结合了高频IMU 测量(500 Hz) 和全向图像(20 Hz),生成准确的VIO,这对于绘图、规划和控制模块至关重要。
  • Omni-Depth: 该模块通过利用其虚拟立体前端和多流推理后端处理全向图像来执行实时全向密集点云生成。
  • Planner: 基于Omni-VINS 和 Omni-Depth,该模块根据空中机器人动力学生成朝向目标位置的轨迹。
  • Controller: 规划器生成的轨迹通过该模块转换为低级姿态指令,然后由飞控执行。

OminNxt中的感知模块(Omni-VINS、Omni-Depth和相关硬件驱动)占用了27%的CPU和40%的GPU板载资源,为下游任务留出了足够的资源。

本文的飞行控制器

Nxt-FC,尺寸仅为 27mm × 33毫米,基于开源自主驾驶固件 PX4 ,开发了高频原始 IMU 数据流,以实现稳健且准确的 VIO。

多鱼眼相机组校准

一起校准所有四个鱼眼相机的内在和外在参数会导致复杂的优化问题,从而增加处理时间并降低成功率。为了解决这个问题,我们的流程在鱼眼相机校准中使用 tartankalibr,在虚拟针孔相机校准中使用 kalibr-toolbox。标定过程如图4所示。

image

最初,我们校准每个鱼眼相机的内在参数。一旦每个相机的投影误差小于0.5像素,我们就开始校准相邻相机之间以及相机与IMU之间的外在参数。

建立多鱼眼相机组的内在和外在参数后,我们基于圆柱相机模型(第III-D节)对图像进行去畸变,以生成虚拟立体对(图5.C )并校准 virtual stereo cameras 的内参和外参。鱼眼和虚拟立体相机之间的转换将在第 2 节中进一步解释。

我们的管道通过并行校准过程来减少校准时间,并通过允许校准过程从失败的情况快速恢复来提高成功率。

Omni-VINS

根据我们之前的工作 D2SLAM,Omni-VINS 针对机载实时性能进行了优化。鱼眼图像的显着失真给特征提取和特征跟踪带来了挑战,特别是在使用基于 CNN 的方法(使用针孔相机收集的图像进行训练)时。为了解决这个问题,我们采用原始鱼眼相机的内在参数的 MEI 模型[ 24 ]和径向切向模型来制定失真。首先,我们使用圆柱形相机模型来消除鱼眼相机图像的畸变。圆柱相机模型[ 25 ]可以写为:

\[\left\lbrack \begin{array}{l} u \\ v \\ 1 \end{array}\right\rbrack = \left\lbrack \begin{matrix} {f}_{\phi } & 0 & {u}_{0} \\ 0 & {f}_{y} & {v}_{0} \\ 0 & 0 & 1 \end{matrix}\right\rbrack \left\lbrack \begin{matrix} \phi \\ Y/\rho \\ 1 \end{matrix}\right\rbrack \tag{1} \]

\[\phi = \operatorname{atan}2\left( {X, Z}\right) , \]

\[\rho = \sqrt{{X}^{2} + {Z}^{2}}, \]

where \({f}_{\phi }\) and \({f}_{y}\) are the focal length. 该模型的优势在于能够表⽰可调视场⻆和相对于相机旋转的虚拟相机。

In our implementation, we set \({f}_{\phi }\) to \(\frac{{190}^{ \circ }}{W}(W\) is the width of the image) ,以消除图像的未曝光边缘。 为了保证不失真图像的一致性,我们设置 \({f}_{y}\) = \({f}_{\phi }\) .

然后,我们基于圆柱形未失真图像进行特征提取和跟踪。 Omni-VINS 继承了 2017 年开发的混合特征提取策略,但将跟踪方法从 Superglue [ 26 ]更改为 Lucas-Kanade (LK) [ 27 ]方法,以最大限度地减少 GPU 占用并加速匹配过程。 We perform feature tracking in both previous and latest frames and among adjacent cameras’ frames.

我们之前的工作[ 16 ]和[ 7 ]已经彻底阐述了视觉惯性问题。滑动窗口中的完整状态向量定义为:

\[\mathcal{X} = \left\lbrack {{x}_{0},{x}_{1},\ldots ,{x}_{m},{x}_{{C}_{0}}^{b},{x}_{{C}_{1}}^{b},\ldots ,{x}_{{C}_{n}}^{b},{\lambda }_{0},{\lambda }_{1},\ldots ,{\lambda }_{l}}\right\rbrack , \]

\[{x}_{i} = \left\lbrack {{p}_{{b}_{i}}^{W},{v}_{{b}_{i}}^{W},{q}_{{b}_{i}}^{W},{b}_{a}^{b},{b}_{g}^{b}}\right\rbrack , k \in \left\lbrack {0, m}\right\rbrack , \tag{2} \]

\[{x}_{{c}_{j}}^{b} = \left\lbrack {{p}_{{c}_{j}}^{b},{q}_{{c}_{j}}^{b}}\right\rbrack , j \in \left\lbrack {0, n}\right\rbrack , \]

where \(m\) is the total number of keyframes, \({\lambda }_{i}\) is the inverse depth of the \({i}^{th}\) feature from its first observation, and \(n\) is the number of fisheye cameras. The visual inertial odometry problem in Omni- \({D}^{2}\) VINS is defined as:

\[\mathop{\min }\limits_{\mathcal{X}}\left\{ {{\begin{Vmatrix}{r}_{p} - {H}_{p}\mathcal{X}\end{Vmatrix}}^{2} + \mathop{\sum }\limits_{{K \in \mathcal{B}}}{\begin{Vmatrix}{r}_{\mathcal{B}}\left( {\widehat{z}}_{{b}_{k + 1}}^{{b}_{k}},\mathcal{X}\right) \end{Vmatrix}}_{{P}_{{b}_{k + 1}}^{{b}_{k}}}^{2} + }\right. \]

\[\left. {\mathop{\sum }\limits_{{\left( {l, j}\right) \in \mathcal{C}}}{\begin{Vmatrix}{r}_{\mathcal{C}}\left( {\widehat{z}}_{l}^{{c}_{j}},\mathcal{X}\right) \end{Vmatrix}}_{{P}_{l}^{{c}_{j}}}^{2}}\right\} \tag{3} \]

We use Ceres Solver [28] for solving this least squares problem.

Omni-Depth

Omni-Depth 采用模块化结构设计,由 a virtual-stereo frontend and a multi-stream-inference backend,以确保各种立体匹配技术的通用性。

image

The virtual-stereo frontend is demonstrated in Fig. 5.C, where the fisheye camera images are undistorted into two perpendicularly(垂直) placed virtual cylindrical(圆柱形) cameras. The FoV of virtual cameras is set to \({100}^{ \circ }\) . The extrinsic parameters of the virtual pinhole(针孔) cameras can be defined as follows:

\[{\mathbf{T}}_{\text{vcam }} = \left\lbrack \begin{matrix} {\mathbf{R}}_{\text{fisheye }}^{\text{vcam }} & 0 \\ 0 & 1 \end{matrix}\right\rbrack \left\lbrack \begin{matrix} {\mathbf{R}}_{\text{fisheye }} & {\mathbf{t}}_{\text{fisheye }} \\ 0 & 1 \end{matrix}\right\rbrack , \]

\[{\mathbf{R}}_{\text{fisheye }}^{{\text{vcam }}_{l}} = {\mathbf{R}}_{y}\left( {-\frac{1}{4}\pi }\right) , \tag{4} \]

\[{\mathbf{R}}_{\text{fisheye }}^{{\text{vcam }}_{r}} = {\mathbf{R}}_{y}\left( {\frac{1}{4}\pi }\right) , \]

where \({vca}{m}_{l}\) represents the left virtual camera, while \({vca}{m}_{r}\) represents the right one. Since the FoV of these two virtual cameras is close to the standard pinhole camera, we can calibrate them with the pinhole camera model.

In the backend of Omni-Depth, we employ CNN to estimate the disparity of each virtual stereo pair because of its more robust performance in the textureless environment. The Omni-Depth is flexible in accommodating different CNN models in the backend. This allows easy adaptation to meet various platforms' accuracy and inference speed requirements.

Planner and Controller

OmniNxt 结合了 Omni-VINS 的精确可靠的里程计和 Omni-Depth 的密集点云,为各种任务提供了广泛的支持。受益于全向感知,飞行过程中的偏航旋转可以最小化,这简化了自主导航中的轨迹规划方案(第IV-C节),同时提高了VIO的精度(第IV-A节)。来自任务层的命令被输入控制器模块,然后转换为 MAVROS 格式的所需姿态命令。为了有效控制,我们利用开源 Px4-Controller [ 14 ] 。

Experiments

Omni-VINS Evaluation

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024-12-1-#{}与¥{}的区别-response

{}与¥{}的区别response实现重定向response响应字符数据response响应字节数据以及导入工具类实现响应

手动部署前后端分离的项目到本地

1.准备工作 使用maven打包springboot项目为.jar文件得到springboot-0.0.1-SNAPSHOT.jar打包vue项目 npm install -g @vue/cli安装Vue CLI 在项目根目录下,运行npm run build命令来构建项目得到一个dist文件夹将打包好的文件通过远程仓库中转至docker虚拟机在虚拟机拉取镜像,并…

nvm 安装进行node多版本管理及环境变量配置

注意: 1、安装nvm之前需要卸载之前的nodejs,并且还要删除之前的环境变量配置,否则会出现一些奇怪的问题 2、nvm的安装路径不能有中文或者空格,否则后面在cmd中切换node版本会出现乱码 一、完全卸载旧的nodejs 参考文章《Node卸载超详细步骤》 1、打开系统的控制面板,点击卸…

M5Stack 发布全双工通信语音识别硬件;雷蛇发布 AI 游戏伴侣 Project AVA,实时指导复盘

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

WPF 怎么利用behavior优雅的给一个Datagrid添加一个全选的功能

前言:我在迁移旧项目代码的时候发现别人写很多界面都涉及到一个DataGrid的全选,但是每个都写的很混乱,现在刚好空闲下来,写一个博客, 给部分可能不太会写这个的同学讲一下,怎么实现全选功能,并且可以在任何项目里面复用这个功能。 先准备一个Datagrid,我们给这个DataGr…

使用chai3d-GEL模块进行软体模型力反馈仿真的一点碎片化记录

在要模拟的网格模型中手动添加节点或者对于形状比较复杂的模型使用TetGen之类的网格划分程序自动添加节点和连接;然后设置合理的仿真参数(质量、刚度、重力、时间步长...) 骨架驱动:SkeletonModel 使用骨架结构来表示变形体。骨架由一系列节点(cGELSkeletonNode)和连接这…

销售新手必看:七大关键要素助你快速蜕变行业精英

在销售领域的探索之路上,我时常遇到新入行的同仁们询问如何迅速提升自我。回望自己初涉销售的时光,那段没有专业背景支撑,也缺乏资深前辈指引的日子,我选择了最质朴的方式——埋首于书店中,搜寻销售相关的书籍。然而,那些偏重理论研究的书籍,并未给予我太多实战中的助力…

电机控制的数字化升级:基于DSP和FPGA的仿真与实现

​数字信号处理器(DSP,Digital Signal Processor)在工业自动化领域的应用日益广泛。DSP是一种专门用于将模拟信号转换成数字信号并进行处理的技术,能够实现信号的数字滤波、重构、调制和解调等多项功能,确保信号处理的精确性和稳定性。特别是在电机控制系统中,DSP的应用尤…

中考英语优秀范文-热点话题-传统文化-001 Chinese Treasures: Opera Paper Art 国宝探秘:京剧与剪纸

1 写作要求 坚定文化自信,弘扬中华优秀传统文化,做中华文明的传播者是新时代中国青少年的责任与使命。假如你是李华,近期,一批外国朋友要到你所在的学校参观访问,请用英语写一篇发言稿,向他们介绍中华优秀传统文化。 内容包括: 1 欢迎朋友们的到来; 2 总体介绍中国传统…

货梯载人监控报警自动停梯系统

货梯载人监控报警自动停梯系统利用安装在货梯轿厢内的监控摄像头,实时捕捉轿厢内的画面信息,货梯载人监控报警自动停梯系统一旦确认有人员进入货梯轿厢监测范围内,系统便会迅速输出报警信号。同时,与电梯控制系统实现联动,强制电梯不关门、不运行,从而将人员拒之于危险之…

【YashanDB知识库】使用DBeaver 插入数据 nvarchar字段插入为空

本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7901516.html?templateId=1718516 【问题分类】DBeaver使用 【关键字】DBeaver、nvarchar 【问题描述】使用DBeaver ,插入数据nvarchar字段插入为空。其他字段都有数据,且插入没有报错。【问题原…

[.NET] 使用客户端缓存提高API性能

在现代应用程序中,性能始终是一个关键的考虑因素。无论是提高响应速度,降低延迟,还是减轻服务器负载,开发者都在寻找各种方法来优化他们的API。在Web开发中,利用客户端缓存是一种有效的方法,可以显著提高API的性能。本文将结合Replicant与Delta库,深入探讨如何在.NET中使…