用于空中加油的方法、系统及计算机程序产品与流程
未命名
07-23
阅读:106
评论:0
用于空中加油的方法、系统及计算机程序产品
背景技术:
1.空中加油(空对空加油)通常由技术娴熟的人工加油伸缩套管(boom)操作员手动进行。一些布置将操作员放在窗户后面,以观察加油伸缩套管以及待加油的飞机。这种类型的布置需要额外的大笔费用,以在加油平台后部中为操作员提供空间。
2.一些布置使用带有双摄像机的立体视觉,其中操作员佩戴护目镜,该护目镜基于来自双摄像机的视图提供三维(3d)视图。一些其他布置使用光探测和测距(lidar)或雷达为人工操作员提供补充距离测量。后面的这些类型的布置需要额外的昂贵部件。
技术实现要素:
3.下面参考下列附图详细描述所公开的实例。提供以下发明内容来说明本文中公开的实例或实现方式。然而,这并不意味着将所有实例限制于任何特定的配置或操作顺序。
4.本文提供的实例包括用于空中加油的解决方案,该解决方案包括:接收示出待加油的飞机的视频帧;接收飞机的初始位置估计和初始姿态估计;基于至少初始位置估计和初始姿态估计,生成飞机的飞机模型的初始渲染;基于至少视频帧和飞机模型的初始渲染,确定初始位置估计和初始姿态估计的细化参数;基于至少初始位置估计、初始姿态估计以及细化参数,确定飞机的细化位置估计和细化姿态估计;基于至少飞机的细化位置估计和细化姿态估计,确定飞机上的燃料容器的位置和姿态;以及基于至少燃料容器的位置和姿态,控制空中加油伸缩套管以接合燃料容器。
附图说明
5.下面参考下列附图详细描述所公开的实例:
6.图1示出了根据实例的采用用于空中加油的飞机位置和姿态估计的布置100。
7.图2a示出了根据实例的来自空中加油操作的代表性视频帧200。
8.图2b示出了视频帧200的注释版本。
9.图3示出了根据实例的可用于布置100中的计算机视觉(cv)架构300的框图。
10.图4示出了根据实例的飞机位置和姿态估计流水线400的框图。
11.图5a、图5b、图5c和图5d示出了根据实例的概念特征提取结果。
12.图5e、图5f和图5g示出了根据实例的用于位置和姿态估计细化的平移和旋转。
13.图5h、图5i和图5j示出了根据实例的飞机110的位置和姿态估计细化。
14.图6示出了根据实例的伸缩套管末端位置和姿态估计流水线600的框图。
15.图7是示出了根据实例的如可与图1的布置100一起使用的用于空中加油的位置和姿态估计的方法的流程图700。
16.图8是示出了根据实例的如可与图1的布置100一起使用的用于空中加油的燃料容器和伸缩套管末端位置和姿态估计的另一方法的流程图800。
17.图9是根据实例的适于实现本公开的各个方面的计算设备900的框图。
18.图10是根据实例的采用本公开的各个方面的设备生产和维修方法1000的框图。
19.图11是根据实例的可以有利地采用本公开的各个方面的设备1100的框图。
20.图12是根据实例的特定的飞行设备1101的示意性透视图。
21.根据实例,贯穿附图,相应的附图标记指代相应的部分。
具体实施方式
22.将参考附图详细描述各个实例。只要可能,在整个附图中相同的附图标记将用于指代相同或相似的零件。贯穿本公开作出的与特定实例和实现方式相关的参考仅为了说明的目的,除非相反地指示,否则并不意味着限制所有实现方式。
23.当结合附图阅读时,将更好地理解前述发明内容以及某些实现方式的以下详细描述。如本文中所使用的,以单数形式陈述并且前面有词语“一个”或“一”的元件或步骤应当被理解为不一定排除元件或步骤的复数。进一步地,对实现方式或实例的引用并非旨在被解释为排除也结合有所述特征的附加实例的存在。此外,除非明确地指出相反,否则“包括”或“具有”具有特定特性的元件或多个元件的实例可以包括不具有该特性的额外元件。
24.本文公开的方面和实现方式涉及用于空中加油的飞机位置和姿态估计,这些方面和实现方式包括:接收示出待加油的飞机的视频帧;接收飞机的初始位置估计和初始姿态估计;基于至少初始位置估计和初始姿态估计,生成飞机的飞机模型的初始渲染;基于至少视频帧和飞机模型的初始渲染,确定初始位置估计和初始姿态估计的细化参数;基于至少初始位置估计、初始姿态估计以及细化参数,确定飞机的细化位置估计和细化姿态估计;基于至少飞机的细化位置估计和细化姿态估计,确定飞机上的燃料容器的位置和姿态;以及基于至少燃料容器的位置和姿态,控制空中加油伸缩套管接合燃料容器。一些实例仅使用单个摄像机(单目视觉)进行视频输入。一些实例为操作员或观察者在显示的视频上叠加飞机模型的投影。一些实例实现自动空中加油,例如不需要高度熟练的人工加油伸缩套管操作员的空中加油。
25.与依赖于例如处理多个不同测量输入的传统系统相比,本公开的方面具有例如通过改进计算硬件的效率来改进计算机的操作以及改进资源分配的技术效果。本公开的方面能够估计由单个摄像机收集的视频流中的三维(3d)对象(例如,飞机燃料容器)的位置和定向,例如支持自主空中加油操作和/或人工辅助的空中加油操作。例如,本公开的方面定位飞机燃料容器和加油平台的加油伸缩套管的相对位置和定向(姿态),以便在加油期间自动控制加油伸缩套管。在一些实例中,位置和姿态信息表示为六个自由度(6dof),包括三维(3d)位置(x、y和z坐标)和定向(滚转、俯仰和偏航)。如本文中所使用的,姿态指代定向(例如,滚转、俯仰和偏航),而位置可以指代3d位置(例如,x、y、z位置)或6dof位置(例如,x、y、z位置和滚转、俯仰和偏航)。
26.定位分阶段进行,例如确定飞机的初始3d位置和3d姿态估计(连同初始6dof位置估计),根据初始6dof位置估计来渲染飞机模型,以及基于将真实世界飞机的实时视频与渲染飞机模型进行比较来确定细化的6dof位置估计。实例采用基于实时深度学习的解决方案,例如,诸如深度卷积神经网络(cnn)的神经网络(nn),该神经网络可以是例如resnet50的残差神经网络(resnet)。这在不利天气和照明条件下提供准确的估计细化,这可用于自动空中(空对空)加油和/或操作者反馈。单个摄像机的使用可以减少部件故障并且更容易地集成到现有系统中。
27.更具体地参考附图,图1示出了布置100,该布置包括加油平台102和待加油的飞机110。加油平台102和飞机110中的每个可以是飞行装置1101的实例,其在关于图11和图12中进一步地详细描述。在布置100中,加油平台102使用空中加油伸缩套管104来为飞机110加油。摄像机108提供视频流200a(在图3中示出)以用于位置和姿态估计。
28.图2a示出了来自空中加油操作的代表性视频帧200。为了清楚起见,图2a仅示出了视频帧200的干净版本。图2b示出了视频帧200的注释版本。视频帧200示出了飞机110和空中加油伸缩套管104的裁剪视图,如可以在飞机边界框210内看到的。飞机边界框210由飞机位置和姿态估计流水线400的早期阶段生成,如下面针对图4所述。飞机110具有燃料容器116,该燃料容器由基准标记118勾画出轮廓。视频帧200还示出了带有伸缩套管末端106的空中加油伸缩套管104,该伸缩套管末端由伸缩套管末端边界框206勾画出轮廓。伸缩套管末端边界框206由伸缩套管末端位置和姿态估计流水线600的早期阶段生成,如下面针对图6所述。在操作中,空中加油伸缩套管104通过接合燃料容器116的伸缩套管末端106向飞机110输送燃料。基准标记118便于燃料容器116在飞机110上的定位。
29.图3示出了计算机视觉(cv)架构300的框图,该计算机视觉架构为布置100执行燃料容器和伸缩套管末端位置和姿态估计。在图3中标识了架构300的部件,在图4和图6中进一步详细示出,并且关于图7(示出了流程图700)进一步详细地描述了架构300的操作。架构300从摄像机108接收包括视频帧200和多个附加视频帧200b的视频流200a。将描述视频帧200的处理。多个附加视频帧200b中的每个的处理与视频帧200的处理相似。
30.架构300包括飞机位置和姿态估计流水线400以及伸缩套管末端位置和姿态估计流水线600。结合图3进一步详细示出和描述了飞机位置和姿态估计流水线400。结合图6进一步详细示出和描述了伸缩套管末端位置和姿态估计流水线600。
31.飞机位置和姿态估计流水线400例如在6dof中输出燃料容器位置422(飞机110上的燃料容器的位置和姿态)。在一些实例中,飞机位置和姿态估计流水线400还输出飞机模型投影424。伸缩套管末端位置和姿态估计流水线600例如在6dof中输出伸缩套管末端位置622(伸缩套管的位置和姿态)。在一些实例中,伸缩套管末端位置和姿态估计流水线600还输出伸缩套管模型投影624。燃料容器位置422和伸缩套管末端位置622被提供给跟踪逻辑302,该跟踪逻辑确定伸缩套管末端106和燃料容器116之间的距离304,伸缩套管末端106和燃料容器116都在图2b中示出。
32.跟踪逻辑302确定伸缩套管控制参数308,该伸缩套管控制参数被提供给伸缩套管控制器310,该伸缩套管控制器自主地移动空中加油伸缩套管104以定位伸缩套管末端106以接合燃料容器116。即,伸缩套管控制器310控制空中加油伸缩套管104以接合燃料容器116。在一些实例中,跟踪逻辑302还确定控制空中加油伸缩套管104以接合燃料容器116是否在安全参数306内,并且如果不在,则生成警报316。如本文所使用的伸缩套管控制参数308包括描述空中加油伸缩套管104可以如何移动(例如,滚转、俯仰、偏航、伸缩、伸展、缩回、枢转、旋转等)的变量,并且该变量可以包括这种移动的限制和速率。伸缩套管控制参数308可以在给定伸缩套管枢转位置和摄像机内部和外部参数的约束下控制空中加油伸缩套管104,例如如何旋转空中加油伸缩套管104(滚转和俯仰)以及可伸缩地延伸空中加油伸缩套管104。
33.在一些实例中,飞机模型投影424和/或伸缩套管模型投影624被提供给视频汇编
312,该视频汇编将飞机模型投影424和/或伸缩套管模型投影624叠加到视频帧200上以产生叠加图像320。在一些实例中,叠加图像320和/或警报316在展示部件906(例如,通过在视频监视器屏幕上显示叠加图像320)上提供给人工操作员314。在一些实例中,人工操作员164使用输入/输出(i/o)部件910(例如,操纵杆、鼠标、键盘、触摸屏、键盘和/或其他输入设备)来提供伸缩套管控制参数308,以控制空中加油伸缩套管104,从而定位伸缩套管末端106以接合燃料容器116。
34.图4示出了飞机位置和姿态估计流水线400的框图,该飞机位置和姿态估计流水线包括架构300的一部分。视频帧200被提供给飞机边界框检测器402,该飞机边界框检测器确定飞机边界框210。在一些实例中,飞机边界框检测器402包括nn,例如深度cnn。在一些实例中,飞机边界框检测器402将视频帧200裁剪到对应于飞机边界框210的区域以生成裁剪图像404。通过裁剪,后期可以通过仅取封闭矩形的内容作为输入而忽略视频帧200的不必要区段。仅使用感兴趣区域还有助于减少计算时间并且允许在飞机位置和姿态估计流水线400的后期使用更加计算密集的算法。
35.在一些实例中,滤波器406例如使用卡尔曼滤波器对视频数据进行滤波。卡尔曼滤波使用随时间观察到的一系列测量值,包含统计噪声和其他不准确度,并且通过对于每个时间段估计变量上的联合概率分布生成未知变量的估计值,该未知变量的估计值往往比仅基于单次测量的那些估计值更准确。由此,在一些实例中,滤波器406跨视频帧(例如,视频帧200和多个额外视频帧200b)操作。
36.滤波器406的输出被提供给飞机特征检测器408,该飞机特征检测器输出飞机特征502(在图5a和图5b中示出)。在一些实例中,飞机特征检测器408包括关键点检测器,该关键点检测器可以使用nn(例如resnet)来实现。关键点检测识别可用于6dof姿态估计的3d对象上的点在视频帧中的位置。关键点可以选择为3d对象上的一致可识别的位置,例如飞机上的翼尖。
37.飞机特征502被提供给飞机2d到3d变换410。在一些实例中,飞机2d到3d变换410使用透视n点(pnp)算法。pnp算法在给定对象上的n个3d点的集合以及它们在由摄像机收集的图像中的对应2d投影的情况下估计经校准的摄像机相对于对象的姿态。在一些实例中,pnp算法利用检测到的关键点的2d像素位置与3d飞机模型416上的3d关键点位置之间的对应关系来旋转和定位飞机模型416,使得3d关键点的模拟的摄像机的视图匹配检测到的关键点的2d像素位置。
38.飞机2d到3d变换410在每个时间实例处使用对象的已知角度、非固有和几何形状来捕捉其世界位置。可以使用摄像机参数信息,该摄像机参数信息包括在摄像机模型中使用的参数,以描述光所来自的场景中的点的3d坐标与其在图像平面上的投影的2d坐标之间的数学关系。固有参数(也称为内部参数)是摄像机本身固有的参数,例如焦距和镜头失真。非固有参数(也称为外部参数或摄像机姿态)是用于描述摄像机与其外部世界之间的的参数。摄像机外部信息、分辨率、放大率和其他内部信息是已知的。
39.飞机2d到3d变换410确定原始飞机位置,该原始飞机位置由滤波器412滤波以例如在6dof中产生初始位置估计506(在图5c至图5e、图5g和图5h中由虚线表示)。6dof中的初始位置估计506是飞机110的初始3d位置估计和初始3d姿态估计的组合。通过根据初始位置估计506利用模型渲染部件414渲染飞机模型416来生成初始渲染418和飞机模型投影424。初
始渲染418是具有背景的实心图像,并且适合于特征提取,而飞机模型投影424适合于与另一图像(例如,来自视频帧200)叠加,使得另一图像中未被飞机模型渲染遮挡的部分在叠加图像中仍然是可见的。
40.初始渲染418被发送到机器学习(ml)模型430,该机器学习模型包括nn 432。在一些实例中,nn 432包含残差nn,例如具有50层的nn,诸如resnet50。nn 432具有特征提取函数434、细化瓶颈436、平移细化头438和旋转细化头439。输出细化参数440包括平移细化442和旋转细化444。通过将细化参数440应用于初始位置估计506来确定细化位置估计508,如在用于平移细化的等式1和用于旋转细化的等式2中指示的:
41.等式1:t
细化
=t
估计
+δt
42.等式2:r
细化
=δr*r
估计
43.其中,t
估计
是初始位置估计506的3d位置部分,r
估计
是初始位置估计506的3d姿态部分,δt是平移细化442,δr是旋转细化444,t
细化
是细化位置估计508的3d位置部分,以及r
细化
是细化位置估计508的3d姿态部分。nn 432不直接计算细化位置估计508,而是确定应用于初始位置估计506的移位(δt和δr)。
44.6dof中的燃料容器位置422可从6dof中的飞机位置420确定。即,一旦已知飞机位置420,则可以确定燃料容器位置422,该燃料容器位置是飞机110上的预定位置。在一些实例中,飞机位置420和/或燃料容器位置422进一步用卡尔曼滤波器(该卡尔曼滤波器跨视频帧进行时间滤波)滤波。
45.提供了实例实现方式的进一步细节,其示出为实现了位置的23.1%的改进和姿势(姿态)的12.2%的改进。基于深度学习的训练方法和算法在对象(例如,飞机110)被单目摄像机(例如,摄像机108)捕获时细化对象的6dof姿态估计。6d姿态参数指的是定义对象在3d空间中位于何处的三个位置参数,以及定义对象如何旋转定向的三个姿态(定向)参数。输入包括:对象的初始6dof估计(例如,初始位置估计506);来自对象的至少一个单目视觉摄像机(例如,视频帧200)的图像,从该图像导出对象的初始6dof估计;以及对象的3d三角网格模型(例如,飞机模型416)。输出是对象的初始6dof估计的细化版本(例如,细化位置估计508)。
46.该过程学习姿态参数微分以便将初始姿态估计变换成细化姿态估计。学习姿态微分使得该过程对于变化的坐标系和其他可变外部参数(例如摄像机和对象布局)更加不可知。这允许网络在空中加油的应用中表现得更好,其中可以在图像的帧内的任何地方捕获感兴趣的对象(待加油的飞机),并且它经常被剪掉图像的侧边。这是因为解决方案空间的维度从整个3d空间减少到表示初始估计和细化估计之间的偏移的空间,使得训练更易于处理。
47.由此,此过程对于不完美的视频捕获场景是稳健的,例如当从输入图像裁剪对象的一部分时。实际功能是细化(改进)低置信度6dof姿态估计。细化器(例如,ml模型430)是轻量化模型,该轻量化模型可以附加到流水线,该流水线在用于自动驾驶应用的其他使用情况(例如,车辆、行人)中输出对象的初始6dof姿态估计,并且还可以用于固定世界对象(例如,建筑物、道路标志、其他标记)的改进的定位和映射,并且使得虚拟现实(vr)系统更加逼真和准确。
48.为了训练,在多个步骤中预处理原始图像(视频帧200)和渲染(例如,初始渲染
418):(1)相对于初始姿态估计裁剪对象。裁剪以紧密裁剪开始。一旦找到长边,则短边延伸以包括更多背景。如果长边延伸超过整个短边,则短边完全延伸到其最大长度。(2)如果需要,添加黑色填充以使图像为方形,并且对图像进行尺寸调整以适合期望的处理工具。(3)独立地分别以70%的概率将数据增强应用于裁剪的、重新调整大小的图像:亮度对比度、色调对比度、高斯噪声和随机太阳耀斑。(4)在确保像素值在范围[0,1]内之后,通过对三个图像通道去除平均分量并除以标准偏差分量来对图像进行归一化。
[0049]
渲染的6d姿态被用作地面实况。训练图像(表示初始位置估计)是通过注入高斯噪声以产生高达大约一英尺的误差来干扰地面实况而生成的。受干扰的地面实况模拟初始6dof位置估计。基于每个受干扰的姿态来创建另一个渲染。受干扰的渲染设置为黑色背景,并且根据对象模型创建二元掩模。
[0050]
在细化器的第一阶段(例如,特征提取函数434),预处理的渲染和原始图像被馈送到两个并行路径中。resnet50与具有瓶颈设计的构建块一起使用。针对生成残差函数的每个构建块,瓶颈设计使用3层的堆栈,而不是使用2层。对于每个瓶颈构建块,这三个层是1x1、3x3和1x1卷积:第一1x1减小了输入的深度,3x3用作保留了深度的瓶颈,并且第二1x1在进入构建块之前将深度增大至其原始量。瓶颈架构还使用身份快捷方式,在进入下一个构建块之前,该身份快捷方式本质上将原始瓶颈输入添加到瓶颈的输出。
[0051]
总体上,resnet50由1个最大池层、16个瓶颈构建块(总计48个卷积层)和1个平均池层组成。特征提取块中的每个并行路径由最大池层组成,随后是预训练的resnet50网络的前3个瓶颈,占resnet50的前10层。两个并行路径的输出彼此相减,以便分别找到在渲染和原始图像中提取的高级特征之间的关键差异。该差异进入细化瓶颈(例如,细化瓶颈436)。
[0052]
细化瓶颈由最后13个瓶颈和预训练的resnet50网络的平均池层组成,占resnet50的最后40层。特征提取的最终输出(两个并行路径之间的差异)用作细化瓶颈的输入。细化瓶颈的输出由2048个特征组成。
[0053]
存在两个细化头:平移细化头(例如,平移细化头438)和旋转细化头(例如,旋转细化头439)。细化头输出是差分,该差分是分别应用于初始姿态估计的平移和旋转的偏移。参见以上等式1和等式2。网络最初输出δr作为旋转四元数δrq,使用外部坐标将其转换成旋转矩阵。
[0054]
平移和旋转被预处理,使得它们彼此分离。对于平移向量,x和y方向在图像空间中,所以使用它们来学习移动对象所需的像素的数量。z方向在摄像机空间中,提供关于对象需要多少缩放的学习。旋转在摄像机空间中,但是在模型空间中居中,因此不仅不知道其所在的坐标系,而且将旋转应用于适当位置。由此,旋转不影响对象的当前重心,并且在平移中不需要自校正以返回到原始位置。因此,在应用平移之后,旋转在适当位置完成并且不移动对象的中心。
[0055]
初始姿态估计值(在世界空间中)被初始化以用于解绕。对于平移,从世界空间到图像平面的初始平移估计在图像空间中给出了x和y方向。使用摄像机的矩阵(由摄像机的基础和原点组成)将来自世界空间的原始平移向量投影到摄像机空间中。来自输出向量的第一值是摄像机空间中的z方向。如果初始旋转估计尚未转换成旋转矩阵,则将其转换成旋转矩阵。将摄像机基础的倒数乘以旋转矩阵。
[0056]
在两个不同的路径中使用细化瓶颈的输出。路径对应于两个细化头:平移细化头和旋转细化头,每个细化头由三个完全连接的层组成。在这两种情况下,第一层采用2048个特征并输出512个特征,随后是批量归一化和矫正线性单元(relu)激活层;第二层采用512个特征并输出256个特征,随后是批量归一化和relu激活层。在第三完全连接的层中,两个细化头之间的差异变得明显。平移细化头采用256个特征并输出3个特征,而旋转细化头输出4个特征。平移头学习x、y和z方向(因此,3个输出),而旋转头学习旋转四元数(因此,4个输出)。在旋转细化头的末端,第三完全连接的层之后是后处理归一化层,因为四元数必须具有为1的单位范数。
[0057]
使用开明均匀分布(kaiming uniform distribution)来随机地初始化每个细化头的前两个完全连接的层。用于平移细化头的第三完全连接的层被初始化为全零矩阵,使得其在训练开始之前输出3个零。这确保了我们在细化平移中的起点是初始估计。类似地旋转细化头被初始化。用于旋转细化头的第三完全连接的层是这样的矩阵,其中,除了最后一列都是一之外,所有值被设置为零。这是因为,如果第三完全连接的层全为零,则随后的后处理归一化层将不能够将输出归一化(其将是全零矩阵)。通过该设置,后处理中的归一化层将产生[0,0,0,1]的四元数差分,该四元数差分与单位旋转矩阵微分i3对应。
[0058]
图5a示出了具有从视频帧200(或视频流200a的另一个视频帧)提取的用于飞机110的提取的飞机特征502(白色填充圆)的飞机110。为了清楚起见,在图5b中示出了没有飞机110的飞机特征502。图5c示出了用于从初始渲染418提取的渲染特征504(黑色填充圆)。图5d示出了飞机特征502(来自视频帧200),其中渲染特征504(来自初始渲染418)具有明显的位移(位置的差异)。该位移反映了初始位置估计506中的误差,该误差在细化位置估计508中将减小。
[0059]
图5e示出了对应于x-y图像空间的二维(2d)空间中的平移细化,其中,细化位置估计508相对于初始位置估计506横向移动。在一些实例中,平移细化是3d,其在z轴方向上(当2d图像空间对应于x-y轴时)。这导致在初始位置估计506的图像空间中缩放为细化位置估计508的大小(随着位置估计在渲染中移动得更靠近虚拟摄像机),并且在图5f中示出。图5g示出了旋转细化,其中,细化位置估计508相对于初始位置估计506旋转。应当理解的是,旋转细化是3d旋转(滚转、俯仰和偏航)。图5h示出了具有初始位置估计506的飞机110,图5i示出了具有细化位置估计508的初始位置估计506,并且图5j示出了具有细化位置估计508的飞机110。
[0060]
图6示出了伸缩套管末端位置和姿态估计流水线600的框图。视频帧200被提供给伸缩套管末端边界框检测器602,该伸缩套管末端边界框检测器确定伸缩套管末端边界框206。在一些实例中,伸缩套管末端边界框检测器602将视频帧200裁剪到对应于伸缩套管末端边界框206的区域,以生成裁剪图像604。在一些实例中,滤波器606例如使用跨视频帧(例如,视频帧200和多个附加视频帧200b)操作的卡尔曼滤波器对视频数据进行滤波。
[0061]
在一些实例中,伸缩套管末端边界框检测器602包括nn,例如深度cnn。伸缩套管末端边界框检测器602的输出(在一些实例中,被裁剪和/或滤波)被提供给伸缩套管末端特征提取器608。在一些实例中,伸缩套管末端特征提取器608包括使用nn(例如resnet)实现的关键点检测器。伸缩套管末端特征提取器608输出伸缩套管末端特征图,该伸缩套管末端特征图被提供给伸缩套管末端2d到3d变换610。伸缩套管末端2d到3d变换610例如在6dof中确
定伸缩套管末端位置622,该伸缩套管末端位置在一些实例中用滤波器612进行滤波。
[0062]
在一些实例中,伸缩套管末端2d到3d变换610还确定伸缩套管位置620,该伸缩套管位置是6dof中的空中加油伸缩套管104的位置。在一些实例中,使用伸缩套管末端位置622(对于空中加油伸缩套管104的远端)以及空中加油伸缩套管104的近端位于加油平台102上的固定位置的知识来确定伸缩套管位置620。根据伸缩套管位置620,通过利用模型渲染部件614渲染3d加油伸缩套管模型616来生成伸缩套管模型投影624。
[0063]
现在参考图7,流程图700示出了空中加油的方法(例如,用于空中加油的位置和姿态估计的方法)。在一些实例中,图7中示出的操作至少部分地通过由图9的计算设备900的一个或多个处理器904执行指令902a(存储在存储器902中)来完成。例如,nn 432可以在计算设备900的第一实例上训练,并且然后部署在计算设备900的第二(不同)实例上。在操作706中的部署之前执行操作702和704,以训练nn 432。
[0064]
操作702包括训练nn 432以检测飞机110的图像(例如,在视频帧200中)与飞机模型416的渲染之间的姿态参数差异。在一些实例中,nn 432包含残差nn。在一些实例中,nn 432包括具有50层的残差nn(例如,resnet50)。在一些实例中,nn 432包括最大池层、多个瓶颈构建块以及平均池层。操作704(其是操作702的一部分)包括:使用模拟器为nn 432生成训练图像,该模拟器通过各种6dof值扫描飞机模型416以生成一组飞机图像和飞机地面实况数据;以及使用飞机地面实况数据来标记飞机图像。使用训练图像来训练nn 432,并且在操作706中部署经训练的nn 432。
[0065]
操作708包括基于至少待加油的飞机110选择飞机模型416。这可以利用加油调度信息、用户输入或飞机110的自动对象识别。在一些实例中,飞机模型416包括3d三角网格模型。操作710包括接收包括视频帧200和多个附加视频帧的视频流200a(例如,接收示出待加油的飞机110的视频帧200)。在一些实例中,视频帧200由单个摄像机(例如,摄像机108)提供。在一些实例中,视频帧200是单目的。
[0066]
操作712包括接收飞机110的初始位置估计和初始姿态估计(连同初始位置估计506)。位置和姿态估计一起包括六自由度(6dof)位置。在一些实例中,从飞机位置和姿态估计流水线400的各部分接收初始位置估计506。飞机位置和姿态估计流水线400基于至少示出飞机110的视频帧200或示出飞机110的先前视频帧(例如,多个附加视频帧200b中的一个)来确定初始位置估计和初始姿态估计。在一些通过流程图700的过程中,使用飞机位置和姿态估计流水线400的阶段402-412来确定初始位置估计506。这可以在首次遇到飞机110时发生,或者在重置位置估计的一些触发条件下发生。在一些通过流程图700的过程中,例如,如果先前确定的细化位置估计508的值是可用的(例如,加油操作已经进行了一段时间并且视频流200a具有飞机110的图像的历史),则初始位置估计506的确定使用先前细化位置估计508。该先前细化位置估计508将在下文描述的先前通过操作726期间被确定。
[0067]
操作714包括,基于至少初始位置估计506(例如,初始3d位置估计和初始3d姿态估计),生成飞机模型416的初始渲染。使用操作718-724执行的操作716基于至少视频帧200和飞机模型416的初始渲染418来确定初始位置估计506的细化参数440。在一些实例中,细化参数440包括平移细化442和旋转细化444。在一些实例中,确定细化参数440使用nn432。即使当飞机110的一部分在视频帧200内不可见时,布置100的一些实例也能够确定细化参数440。
[0068]
操作718从视频帧200中提取特征(例如,飞机特征502),并且操作720从飞机模型416的初始渲染418提取特征(例如,渲染特征504)。操作722确定来自视频帧200的飞机特征502与从飞机模型416的初始渲染418提取的渲染特征504的特征之间的差异。操作724将旋转细化444从旋转四元数转换成旋转矩阵。
[0069]
操作726包括,基于至少初始位置估计506(例如,初始3d位置估计和初始3d姿态估计)和细化参数440,确定飞机110的细化3d位置估计和细化3d姿态估计(连同细化位置估计508)。一些实例包括在操作728中,作为操作726的一部分,对细化位置估计508进行滤波。在一些实例中,对细化位置估计508进行滤波使用卡尔曼滤波器。一些实例在继续之前多次迭代操作710-728,其中在操作712中,细化位置估计508变成初始位置估计506的新版本。
[0070]
判定操作730确定是否再次经历操作710至728,或者确定如果已经达到迭代是否达到期望次数。该过程在确定燃料容器116(连同燃料容器位置422,其为6dof位置)的3d位置和3d姿态之前迭代地产生连续细化的位置估计508。当操作712-728比摄像机108的帧速率更快地迭代、并且尚未接收到新视频帧时,操作712-728可以使用同一视频帧200迭代。
[0071]
当流程图70继续时,操作732包括基于至少飞机110的细化位置估计508确定飞机110上的燃料容器位置422。操作734确定空中加油伸缩套管104的伸缩套管末端106的位置和姿态(例如,6dof中的伸缩套管末端位置622)。操作736生成叠加图像320。叠加图像320包括飞机模型投影424(其基于至少飞机模型416和细化位置估计508)和示出飞机110的视频帧200或示出飞机110的后续视频帧。在一些实例中,叠加图像320还包括伸缩套管模型投影624,该伸缩套管模型投影基于至少加油伸缩套管模型616和伸缩套管末端位置622。在操作738中显示叠加图像320。
[0072]
操作740追踪伸缩套管末端106与燃料容器116之间的距离304。判定操作742基于至少燃料容器位置422和伸缩套管末端位置622确定控制空中加油伸缩套管104接合燃料容器116是否在安全参数306内。如果不在安全参数306内,则操作744包括基于至少确定控制空中加油伸缩套管104接合燃料容器116不在安全参数306内,生成警报316。
[0073]
否则,操作746包括,基于至少燃料容器位置422,控制空中加油伸缩套管104接合燃料容器116。控制空中加油伸缩套管104接合燃料容器116包括基于至少燃料容器位置422和伸缩套管末端位置622控制空中加油伸缩套管104接合燃料容器116。然后,流程图700返回到操作710。
[0074]
图8示出了说明空中加油的方法的流程图800。在一些实例中,图8中示出的操作至少部分地通过由图9的计算设备900的一个或多个处理器904执行指令来进行。操作802包括接收示出待加油的飞机的视频帧。操作804包括接收飞机的初始位置估计和初始姿态估计。操作806包括基于至少初始位置估计和初始姿态估计,生成飞机的飞机模型的初始渲染。
[0075]
操作808包括基于至少视频帧和飞机模型的初始渲染来确定初始位置估计和初始姿态估计的细化参数。操作810包括基于至少初始位置估计、初始姿态估计和细化参数,确定飞机的细化位置估计和细化姿态估计。操作812包括基于至少飞机的细化位置估计和细化姿态估计,确定飞机上的燃料容器的位置和姿态。操作814包括基于至少燃料容器的位置和姿态,控制空中加油伸缩套管以接合燃料容器。
[0076]
现在参照图9。描述了适用于实现本公开的各个方面的计算设备900的框图。在一些实例中,计算设备900包括一个或多个处理器904、一个或多个呈现部件906和存储器902。
所公开的与计算设备900相关联的实例由各种计算设备实现,包括个人计算机、笔记本电脑、智能电话、移动平板、手持设备、消费类电子产品、专用计算设备等。例如“工作站”、“服务器”、“笔记本电脑”、“手持式设备”等分类之间没有区别,因为全部预期在图9和本文中对“计算设备”的引用的范围内。所公开的实例也在分布式计算环境中实现,其中由远程处理设备执行任务,该远程处理设备通过通信网络链接。此外,虽然计算设备900被描绘为看似单个设备,但是在一个实例中,多个计算设备一起工作并共享所描绘的设备资源。例如,在一个实例中,存储器902跨多个设备分布,所提供的处理器904容纳在不同设备上,等等。
[0077]
在一个实例中,存储器902包括本文所讨论的计算机可读介质中的任一个。在一个实例中,存储器902用于储存和访问配置为执行本文所公开的各种操作的指令902a。在一些实例中,存储器902包括易失性和/或非易失性存储器、可移动或不可移动存储器、虚拟环境中的数据盘、或其组合形式的计算机存储介质。在一个实例中,(一个或多个)处理器904包括任意数量的处理单元,该处理单元从各种实体(例如存储器902或输入/输出(i/o)部件910)读取数据。具体地,(一个或多个)处理器904编程为执行计算机可执行指令以实现本公开的多个方面。在一个实例中,指令由处理器、由计算设备900内的多个处理器、或由计算设备900外部的处理器执行。在一些实例中,(一个或多个)处理器904编程为执行例如以下讨论的流程图中示出的以及附图中描绘的那些指令。
[0078]
呈现部件(一个或多个)906向操作员或另一装置呈现数据指示。在一个实例中,呈现部件906包括显示设备、扬声器、打印部件、振动部件等。本领域技术人员将理解和领会,计算机数据以许多方式呈现,例如在图形用户界面(gui)中可视地、通过扬声器可听地、在计算设备900之间无线地、跨有线连接或以其他方式呈现。在一个实例中,呈现部件906(一个或多个)在过程和操作足够自动化以致对人工交互的需要减少或不需要时不使用。i/o端口908允许计算设备900逻辑地联接到包括i/o部件910的其他设备,其中一些设备内置。i/o部件910的实现方式包括例如但不限于麦克风、键盘、鼠标、操纵杆、游戏键盘、圆盘式卫星天线、扫描仪、打印机、无线设备等。
[0079]
计算设备900包括直接或间接联接以下设备的总线916:存储器902、一个或多个处理器904、一个或多个呈现部件906、输入/输出(i/o)端口908、i/o部件910、电源912和网络部件914。计算设备900不应解释为具有与其中示出的任何单个部件或部件的组合有关的任何依赖性或要求。总线916表示一个或多个总线(例如地址总线、数据总线或其组合)。尽管为了清楚起见用线条示出了图9中的各个框,但是一些实现方式模糊了本文中所描述的各个不同部件上的功能。
[0080]
在一些实例中,计算设备900使用网络部件914通信地联接至网络918。在一些实例中,网络部件914包括网络接口卡和/或用于操作网络接口卡的计算机可执行指令(例如,驱动器)。在一个实例中,计算设备900和其他设备之间的通信使用任何协议或机制通过有线或无线连接920而发生。在一些实例中,网络部件914可操作成用于使用传输协议通过公共、私有或混合(公共和私有)、使用短距离通信技术(例如,近场通信(nfc)、品牌通信等)或其组合无线地在设备之间传送数据。
[0081]
虽然结合计算设备900进行描述,但本公开的实例能够与许多其他通用或专用计算系统环境、配置或设备实现。适用于本公开的多个方面的公知的计算系统、环境和/或配置的实施方式包括但不限于:智能电话、移动平板、移动计算设备、个人计算机、服务器计算
机、手持式或膝上型设备、多处理器系统、游戏控制台、基于微处理器的系统、机顶盒、可编程消费类电子产品、移动电话、具有可穿戴或配件形状因素(例如,手表、眼镜、头戴式耳机或耳机)的移动计算和/或通信设备、网络pc、小型计算机、大型计算机、包括上述系统或设备中的任一个的分布式计算环境、vr设备、全息设备等。这样的系统或设备以任何方式接受来自用户的输入,包括来自例如键盘或指点设备之类的输入设备、经由手势输入、接近输入(例如通过悬停)和/或经由语音输入。
[0082]
本公开的实施方式在由软件、固件、硬件或其组合中的一个或多个计算机或其他设备执行的计算机可执行指令(例如,程序模块)的一般上下文中描述。在一个实例中,计算机可执行指令被组织成一个或多个计算机可执行部件或模块。通常,程序模块包括但不限于例程、程序、对象、部件和数据结构,其执行特定任务或实现特定抽象数据类型。在一个实例中,本公开的方面用任何数量和组织的此类部件或模块来实现。例如,本公开的方面不限于在附图中示出且在本文中描述的特定计算机可执行指令或特定部件或模块。本公开的其他实例包括具有比本文示出和描述的功能更多或更少的不同的计算机可执行指令或部件。在涉及通用计算机的实施方式中,本公开的方面在配置成执行本文描述的指令时将通用计算机变换成专用计算设备。
[0083]
作为实例而非限制,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的易失性和非易失性、可移除和不可移除的存储器,以用于存储例如计算机可读指令、数据结构、程序模块等的信息。计算机存储介质是有形的并且与通信介质相互排斥。计算机存储介质以硬件实现并且排除载波和传播信号。出于本公开的目的,计算机存储介质不是信号本身。在一个实例中,计算机存储介质包括硬盘、闪存驱动器、固态存储器、相变随机存取存储器(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存或其他存储器技术、光盘只读存储器(cd-rom)、数字多通用光盘(dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或用于存储信息以供计算设备访问的任何其他非传输介质。相反,通信介质通常以例如载波或其他传输机制等调制数据信号包含计算机可读指令、数据结构、程序模块等,并且包括任何信息传递介质。
[0084]
本公开的一些实例用于制造和维修应用,如在图10至图12中示出和描述的。因此,在图10所示的制造和维修方法1000的装置以及图11所示的装置1100的上下文中描述了本公开的实例。在图11中示出了根据一个实例的装置制造和维修方法1000的示图。在一个实例中,在预生产期间,装置制造和维修方法1000包括图11中的装置1100的规格和设计1002以及材料采购1104。在生产期间,进行图11中的设备1100的部件和子组件制造1006和系统集成1008。此后,图11中的装置1100通过认证和交付1010以投入使用1012。在由客户使用时,为图11中的装置1100安排进行日常维护和维修1014,在一个实例中,日常维护和维修包括改造、重新配置、翻新和经受配置管理的其他维护或维修,如本文所描述的。
[0085]
在一个实例中,装置制造和维修方法1000的每个过程由系统集成商、第三方和/或运营商执行或实施。在这些实例中,运营商是客户。为了本描述的目的,系统集成商包括任何数量的装置制造商和主系统分包商;第三方包括任何数量的销售商、分包商和供应商;并且在一个实例中,运营商是装置或该装置群的所有者、负责该装置或该装置群的管理员、操作该装置的用户、租赁公司、军事实体、服务组织等。
[0086]
现在参考图11,提供了装置1100。如图11所示,装置1100的实例是飞行装置1101,例如,航空航天运载工具、飞机、空运货物、飞行汽车、卫星、行星探头、深空探头、太阳探头等。还如在图11中所示,装置1100的另一个实例是地面运输装置1102,诸如汽车、卡车、重型设备、建筑设备、船、舰、潜水艇等。图11中所示的装置1100的另一个实例是模块化装置1103,该模块化装置包括以下模块中的至少一个或多个:空气模块、有效载荷模块和地面模块。空气模块提供空气提升或飞行能力。有效载荷模块提供运输诸如货物或活的对象(人、动物等)的对象的能力。地面模块提供地面移动的能力。本文公开的解决方案单独地或以组(例如空中和有效载荷模块、或有效载荷和地面等)或所有模块应用于每个模块。
[0087]
现在参考图12,描述了飞行装置1101的更具体的示图,其中,有利地采用本公开的实施方式。在这个实例中,飞行装置1101是通过图10中的装置制造和维修方法1000生产的飞机并且包括具有多个系统1204和内部1206的机身1202。多个系统1204的实例包括推进系统1208、电气系统1210、液压系统1212和环境系统1214中的一个或多个。然而,也可以包括其他系统。尽管示出了航空航天实例,不同的有利实例可以应用于其他行业,例如汽车行业等。
[0088]
本文所公开的实例在计算机代码或机器可用指令的一般上下文中描述,计算机代码或机器可用指令包括由计算机或例如个人数据助理或其他手持式设备等其他机器执行的计算机可执行指令(例如程序部件)。通常,包括例程、程序、对象、部件、数据结构等的程序部件是指代码,该代码执行特定任务或实现特定抽象数据类型。在各种系统配置中实施公开的实例,这些系统配置包括个人计算机、笔记本电脑、智能电话、移动平板、手持式设备、消费类电子产品、专用计算设备等。所公开的实例也在分布式计算环境中实现,其中由通过通信网络链接的远程处理设备执行任务。
[0089]
一种空中加油的实例方法包括:接收示出待加油的飞机的视频帧;接收飞机的初始位置估计和初始姿态估计;基于至少初始位置估计和初始姿态估计,生成飞机的飞机模型的初始渲染;基于至少视频帧和飞机模型的初始渲染,确定初始位置估计和初始姿态估计的细化参数;基于至少初始位置估计、初始姿态估计以及细化参数,确定飞机的细化位置估计和细化姿态估计;基于至少飞机的细化位置估计和细化姿态估计,确定飞机上的燃料容器的位置和姿态;以及基于至少燃料容器的位置和姿态,控制空中加油伸缩套管接合燃料容器。
[0090]
一种用于空中加油的实例系统包括:一个或多个处理器;以及存储指令的存储器,该指令在由一个或多个处理器执行时使一个或多个处理器执行操作,该操作包括:接收示出待加油的飞机的视频帧;接收飞机的初始位置估计和初始姿态估计;基于至少初始位置估计和初始姿态估计,生成飞机的飞机模型的初始渲染;基于至少视频帧和飞机模型的初始渲染,确定初始位置估计和初始姿态估计的细化参数;基于至少初始位置估计、初始姿态估计以及细化参数,确定飞机的细化位置估计和细化姿态估计;基于至少飞机的细化位置估计和细化姿态估计,确定飞机上的燃料容器的位置和姿态;以及基于至少燃料容器的位置和姿态,控制空中加油伸缩套管接合燃料容器。
[0091]
一种实例计算机程序产品包括具有体现在其中的计算机可读程序代码的计算机可用介质,计算机可读程序代码适于执行实现空中加油的方法,该方法包括:接收示出待加油的飞机的视频帧;接收飞机的初始位置估计和初始姿态估计;基于至少初始位置估计和
初始姿态估计,生成飞机的飞机模型的初始渲染;基于至少视频帧和飞机模型的初始渲染,确定初始位置估计和初始姿态估计的细化参数;基于至少初始位置估计、初始姿态估计以及细化参数,确定飞机的细化位置估计和细化姿态估计;基于至少飞机的细化位置估计和细化姿态估计,确定飞机上的燃料容器的位置和姿态;以及基于至少燃料容器的位置和姿态,控制空中加油伸缩套管接合燃料容器。
[0092]
替代地,或者除本文描述的其他实例之外,实例包括以下的任何组合:
[0093]
视频帧由单个摄像机提供;
[0094]
细化参数包括平移细化和旋转细化;
[0095]
基于至少示出飞机的视频帧或示出飞机的先前视频帧来确定初始位置估计和初始姿态估计;
[0096]
使用先前细化位置估计来确定初始位置估计;
[0097]
使用先前细化姿态估计来确定初始姿态估计;
[0098]
确定空中加油伸缩套管的伸缩套管末端的位置和姿态;
[0099]
控制空中加油伸缩套管接合燃料容器包括:基于至少燃料容器的位置和姿态以及伸缩套管末端的位置和姿态控制空中加油伸缩套管接合燃料容器;
[0100]
生成叠加图像,包括:
[0101]
叠加图像包括基于至少飞机模型、细化位置估计和细化姿态估计的模型投影;
[0102]
叠加图像包括示出飞机的视频帧或示出飞机的后续视频帧;
[0103]
显示叠加图像;
[0104]
伸缩套管控制器,该伸缩套管控制器控制空中加油伸缩套管接合燃料容器;
[0105]
确定初始位置估计和初始姿态估计的细化参数包括使用nn确定细化参数;
[0106]
nn包括残差nn;
[0107]
nn包括具有50个层的残差nn;
[0108]
nn包括最大池层、多个瓶颈构建块和平均池层;
[0109]
确定初始位置估计和初始姿态估计的细化参数包括从视频帧提取特征;
[0110]
确定初始位置估计和初始姿态估计的细化参数包括从飞机模型的初始渲染中提取特征;
[0111]
确定初始位置估计和初始姿态估计的细化参数包括确定从视频帧提取的特征与从飞机模型的初始渲染提取的特征之间的差异;
[0112]
当飞机的一部分在视频帧内不可见时,确定初始位置估计和初始姿态估计的细化参数;
[0113]
确定初始位置估计和初始姿态估计的细化参数包括将旋转细化从旋转四元数转换成旋转矩阵;
[0114]
飞机模型包括三维(3d)三角网格模型;
[0115]
位置和姿态估计一起包括六自由度(6dof)位置;
[0116]
视频帧是单目的;
[0117]
接收包括视频帧和多个附加视频帧的视频流;
[0118]
对细化位置估计和细化姿态估计进行滤波;
[0119]
用卡尔曼滤波器对细化位置估计和细化姿态估计进行滤波;
[0120]
在确定燃料容器的位置和姿态之前,迭代地生成细化位置估计和细化姿态估计;
[0121]
基于至少待加油的飞机来选择飞机模型;
[0122]
追踪伸缩套管末端与燃料容器之间的距离;
[0123]
基于至少燃料容器的位置和姿态以及伸缩套管末端的位置和姿态,确定控制空中加油伸缩套管接合燃料容器是否在安全参数内;
[0124]
基于至少确定控制空中加油伸缩套管接合燃料容器不在安全参数内,生成警报;
[0125]
使用模拟器生成用于nn的训练图像,该模拟器通过各种6dof值扫描飞机模型以生成一组飞机图像和飞机地面实况数据,以及使用飞机地面实况数据来标记飞机图像;
[0126]
使用训练图像来训练nn;以及
[0127]
训练nn以检测飞机的图像与飞机模型的渲染之间的姿态参数差异。
[0128]
条款1.一种空中加油的方法,该方法包括:
[0129]
接收示出待加油的飞机(110)的视频帧(200);
[0130]
接收飞机的初始位置估计和初始姿态估计(506);
[0131]
基于至少初始位置估计和初始姿态估计,生成飞机的飞机模型(416)的初始渲染(418);
[0132]
基于至少视频帧和飞机模型的初始渲染,确定初始位置估计和初始姿态估计的细化参数(44);
[0133]
基于至少初始位置估计、初始姿态估计以及细化参数,确定飞机的细化位置估计和细化姿态估计(508);
[0134]
基于至少飞机的细化位置估计和细化姿态估计,确定飞机上的燃料容器(116)的位置和姿态(622);以及
[0135]
基于至少燃料容器的位置和姿态,控制空中加油伸缩套管(104)接合燃料容器。
[0136]
条款2.根据条款1的方法,其中,视频帧由单摄像机提供。
[0137]
条款3.根据条款1至2的方法,其中,细化参数包括平移细化和旋转细化。
[0138]
条款4.根据条款1至2的方法,还包括:
[0139]
基于至少示出飞机的视频帧或示出飞机的先前视频帧来确定初始位置估计和初始姿态估计。
[0140]
条款5.根据条款1至2的方法,还包括:
[0141]
使用先前细化位置估计来确定初始位置估计;以及
[0142]
使用先前细化姿态估计来确定初始姿态估计。
[0143]
条款6.根据条款1至2的方法,还包括:
[0144]
确定空中加油伸缩套管的伸缩套管末端的位置和姿态,其中控制空中加油伸缩套管接合燃料容器包括:基于至少燃料容器的位置和姿态以及伸缩套管末端的位置和姿态控制空中加油伸缩套管接合燃料容器。
[0145]
条款7.根据条款1至2所述的方法,还包括:
[0146]
生成叠加图像,包括:
[0147]
基于至少飞机模型、细化位置估计和细化姿态估计的模型投影;
[0148]
以及
[0149]
示出飞机的视频帧或者示出飞机的后续视频帧;以及
[0150]
显示叠加图像。
[0151]
条款8.一种用于空中加油的系统,该系统包括:
[0152]
一个或多个处理器;以及
[0153]
存储指令的存储器,该指令在由一个或多个处理器执行时使一个或多个处理器执行操作,该操作包括:
[0154]
接收示出待加油的飞机(110)的视频帧(200);
[0155]
接收飞机的初始位置估计和初始姿态估计(506);
[0156]
基于至少初始位置估计和初始姿态估计,生成飞机的飞机模型(416)的初始渲染(418);
[0157]
基于至少视频帧和飞机模型的初始渲染,确定初始位置估计和初始姿态估计的细化参数(44);
[0158]
基于至少初始位置估计、初始姿态估计以及细化参数,确定飞机的细化位置估计和细化姿态估计(508);
[0159]
基于至少飞机的细化位置估计和细化姿态估计,确定飞机上的燃料容器(116)的位置和姿态(622);以及
[0160]
基于至少燃料容器的位置和姿态,控制空中加油伸缩套管(104)
[0161]
接合燃料容器。
[0162]
条款9.根据条款8的系统,其中,视频帧由单个摄像机提供。
[0163]
条款10.根据条款8至9的系统,其中,细化参数包括平移细化和旋转细化。
[0164]
条款11.根据条款8至9的系统,其中,该操作还包括:
[0165]
基于至少示出飞机的视频帧或示出飞机的先前视频帧来确定初始位置估计和初始姿态估计。
[0166]
条款12.根据条款8至9的系统,其中,该操作还包括:
[0167]
使用先前细化位置估计来确定初始位置估计;以及
[0168]
使用先前细化姿态估计来确定初始姿态估计。
[0169]
条款13.根据条款8至9的系统,其中该操作还包括:
[0170]
确定空中加油伸缩套管的伸缩套管末端的位置和姿态,其中控制空中加油伸缩套管接合燃料容器包括:基于至少燃料容器的位置和姿态以及伸缩套管末端的位置和姿态控制空中加油伸缩套管接合燃料容器。
[0171]
条款14.根据条款8至9的系统,还包括:
[0172]
伸缩套管控制器,该伸缩套管控制器控制空中加油伸缩套管接合燃料容器。
[0173]
条款15.一种计算机程序产品,包括具有体现在其中的计算机可读程序代码的计算机可用介质,该计算机可读程序代码适于执行实现空中加油的方法,该方法包括:
[0174]
接收示出待加油的飞机(110)的视频帧(200);
[0175]
接收飞机的初始位置估计和初始姿态估计(506);
[0176]
基于至少初始位置估计和初始姿态估计,生成飞机的飞机模型(416)的初始渲染(418);
[0177]
基于至少视频帧和飞机模型的初始渲染,确定初始位置估计和初始姿态估计的细化参数(44);
[0178]
基于至少初始位置估计、初始姿态估计以及细化参数,确定飞机的细化位置估计和细化姿态估计(508);
[0179]
基于至少飞机的细化位置估计和细化姿态估计,确定飞机上的燃料容器(116)的位置和姿态(622);以及
[0180]
基于至少燃料容器的位置和姿态,控制空中加油伸缩套管(104)接合燃料容器。
[0181]
条款16.根据条款15的计算机程序产品,其中,视频帧由单个摄像机提供。
[0182]
条款17.根据条款15至16的计算机程序产品,其中,细化参数包括平移细化和旋转细化。
[0183]
条款18.根据条款15至16的计算机程序产品,其中该方法还包括:
[0184]
基于至少示出飞机的视频帧或示出飞机的先前视频帧确定初始位置估计和初始姿态估计。
[0185]
条款19.根据条款15至16的计算机程序产品,其中该方法还包括:
[0186]
使用先前细化位置估计确定初始位置估计;以及
[0187]
使用先前细化姿态估计确定初始姿态估计。
[0188]
条款20.根据条款15至16的计算机程序产品,其中,该方法还包括:
[0189]
确定空中加油伸缩套管的伸缩套管末端的位置和姿态,其中控制空中加油伸缩套管接合燃料容器包括:基于至少燃料容器的位置和姿态以及伸缩套管末端的位置和姿态控制空中加油伸缩套管接合燃料容器。
[0190]
当介绍本公开的方面或其实现方式的元件时,冠词“一个”、“一种”、“该”和“所述”旨在是指存在一个或多个元件。术语“包括”、“包含”以及“具有”旨在是开放性的并且意味着可能存在除了所列出的元件之外的另外的元件。术语“实现方式”旨在是指“的实例”。短语“以下中的一个或多个:a、b和c”表示“a中的至少一个和/或b中的至少一个和/或c中的至少一个”。
[0191]
已详细描述本公开的方面,将显而易见的是,在不脱离如所附权利要求书中界定的本公开的方面的范围的情况下,修改和变化是可能的。因为在不背离本公开的方面的范围的情况下可以对以上构造、产品和方法做出各种改变,所以意图是包含在以上描述中的和在附图中示出的所有内容应解释为说明性的而不是限制性的。
技术特征:
1.一种空中加油的方法,其中,所述方法包括:接收示出待加油的飞机(110)的视频帧(200);接收所述飞机的初始位置估计和初始姿态估计(506);基于至少所述初始位置估计和所述初始姿态估计,生成所述飞机的飞机模型(416)的初始渲染(418);基于至少所述视频帧和所述飞机模型的所述初始渲染,确定所述初始位置估计和所述初始姿态估计的细化参数(44);基于至少所述初始位置估计、所述初始姿态估计以及所述细化参数,确定所述飞机的细化位置估计和细化姿态估计(508);基于至少所述飞机的所述细化位置估计和所述细化姿态估计,确定所述飞机上的燃料容器(116)的位置和姿态(622);以及基于至少所述燃料容器的所述位置和姿态,控制空中加油伸缩套管(104)接合所述燃料容器。2.根据权利要求1所述的方法,其中,所述视频帧由单个摄像机提供。3.根据权利要求1至2所述的方法,其中,所述细化参数包括平移细化和旋转细化。4.根据权利要求1至2所述的方法,还包括:基于至少示出所述飞机的所述视频帧或示出所述飞机的先前视频帧来确定所述初始位置估计和所述初始姿态估计。5.根据权利要求1至2所述的方法,还包括:使用先前细化位置估计来确定所述初始位置估计;以及使用先前细化姿态估计来确定所述初始姿态估计。6.根据权利要求1至2所述的方法,还包括:确定所述空中加油伸缩套管的伸缩套管末端的位置和姿态,其中控制所述空中加油伸缩套管接合所述燃料容器包括:基于至少所述燃料容器的所述位置和姿态以及所述伸缩套管末端的所述位置和姿态来控制所述空中加油伸缩套管接合所述燃料容器。7.根据权利要求1至2所述的方法,还包括:生成叠加图像,包括:基于至少所述飞机模型、所述细化位置估计和所述细化姿态估计的模型投影;以及示出所述飞机的视频帧或者示出所述飞机的后续视频帧;以及显示所述叠加图像。8.一种用于空中加油的系统,其中,所述系统包括:一个或多个处理器;以及存储指令的存储器,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:接收示出待加油的飞机(110)的视频帧(200);接收所述飞机的初始位置估计和初始姿态估计(506);基于至少所述初始位置估计和所述初始姿态估计,生成所述飞机的飞机模型(416)的初始渲染(418);基于至少所述视频帧和所述飞机模型的所述初始渲染,确定所述初始位置估计和所述
初始姿态估计的细化参数(44);基于至少所述初始位置估计、所述初始姿态估计以及所述细化参数,确定所述飞机的细化位置估计和细化姿态估计(508);基于至少所述飞机的所述细化位置估计和所述细化姿态估计,确定所述飞机上的燃料容器(116)的位置和姿态(622);以及基于至少所述燃料容器的所述位置和姿态,控制空中加油伸缩套管(104)接合所述燃料容器。9.根据权利要求8所述的系统,其中,所述视频帧由单个摄像机提供。10.根据权利要求8至9所述的系统,其中,所述细化参数包括平移细化和旋转细化。11.根据权利要求8至9所述的系统,其中,所述操作还包括:基于至少示出所述飞机的所述视频帧或示出所述飞机的先前视频帧来确定所述初始位置估计和所述初始姿态估计。12.根据权利要求8至9所述的系统,其中,所述操作还包括:使用先前细化位置估计来确定所述初始位置估计;以及使用先前细化姿态估计来确定所述初始姿态估计。13.根据权利要求8至9所述的系统,其中,所述操作还包括:确定所述空中加油伸缩套管的伸缩套管末端的位置和姿态,其中控制所述空中加油伸缩套管接合所述燃料容器包括:基于至少所述燃料容器的所述位置和姿态以及所述伸缩套管末端的所述位置和姿态来控制所述空中加油伸缩套管接合所述燃料容器。14.根据权利要求8至9所述的系统,还包括:伸缩套管控制器,所述伸缩套管控制器控制所述空中加油伸缩套管接合所述燃料容器。15.一种计算机程序产品,包括具有体现在其中的计算机可读程序代码的计算机可用介质,所述计算机可读程序代码适于执行实现空中加油的方法,其中,所述方法包括:接收示出待加油的飞机(110)的视频帧(200);接收所述飞机的初始位置估计和初始姿态估计(506);基于至少所述初始位置估计和所述初始姿态估计,生成所述飞机的飞机模型(416)的初始渲染(418);基于至少所述视频帧和所述飞机模型的所述初始渲染,确定所述初始位置估计和所述初始姿态估计的细化参数(44);基于至少所述初始位置估计、所述初始姿态估计以及所述细化参数,确定所述飞机的细化位置估计和细化姿态估计(508);基于至少所述飞机的所述细化位置估计和所述细化姿态估计,确定所述飞机上的燃料容器(116)的位置和姿态(622);以及基于至少所述燃料容器的所述位置和姿态,控制空中加油伸缩套管(104)接合所述燃料容器。
技术总结
本申请涉及用于空中加油的方法、系统及计算机程序产品。本公开的方面提供用于空中加油的燃料容器位置/姿态估计(源自飞机位置和姿态估计)。从单个摄像机接收示出待加油的飞机的视频帧。确定飞机的初始位置/姿态估计,该初始位置/姿态估计用于生成飞机模型的初始渲染。视频帧和初始渲染用于确定初始位置/姿态估计的细化参数(例如,平移细化和旋转细化),为飞机提供细化位置/姿态估计。基于飞机的细化位置/姿态估计确定飞机上的燃料容器的位置/姿态,并且可以控制空中加油伸缩套管接合燃料容器。实例在视频帧和飞机模型渲染中从飞机提取特征,并且使用深度学习神经网络确定细化参数。化参数。化参数。
技术研发人员:利昂
受保护的技术使用者:波音公司
技术研发日:2023.01.03
技术公布日:2023/7/22
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
