障碍物之间的自主空中双目标跟踪
摘要:
与在障碍物中跟踪单个目标的在线运动规划的最新发展相比,在类似的情况下,几乎没有讨论过具有单个追逐者无人机的多目标案例。除了可能的遮挡和与障碍物的碰撞之外,由于目标间遮挡和有限的视野,跟踪多个目标还受到多个可见性问题的挑战。此外,与单个目标情况相比,将多个目标反映到规划目标或约束中会增加优化中的计算量和数值问题。
为了解决这些问题,我们首先为多个目标开发一个可见性得分域,其中包含了视场限制和目标之间的相互遮挡。接下来,我们开发了一种快速扫描算法,用于计算实时应用程序的适用性。最后,我们建立了一个有效的分层规划方案,以输出多个目标的追逐运动,以确保关键目标和约束。为了进行可靠的跟踪,我们还提出了一种预测算法来预测考虑障碍物的目标运动。所提出算法的在线性能在具有挑战性的场景中得到广泛验证,包括大规模仿真以及在室内和室外场景中的多个真实世界实验。此处发布了所提出方法的完整代码实现: https://github.com/icsl-Jeon/dual_chaser。
1.引言
由于定位 [1],[2],跟踪 [3] 和控制 [4] 的进步,增强了自主性,扩大了配备有摄像头的无人机的利用率,用于基于视觉的任务,如摄像和监视。实现这些任务的自主权需要一个可靠的追逐计划者来反映障碍。关于运动生成,最近的一组工作建议了实时计划算法 [5]-[10]。他们考虑了关键的运动目标,例如追踪者无人机的致动效率以及无人机与目标之间所需的相对距离。追赶者无人机的安全性和目标的可见性被处理在基于非凸优化 [5] 、 [6] 或基于搜索的方法之中。
尽管如此,仍有各种场景可以受益于单个无人机在障碍物中跟踪多个目标并在单个图像帧中捕获它们的能力 (在电影摄影中称为多镜头 [11])。例如,在拍摄场景中,无人机应在单个摄像机视图中捕获多个演员,以表达演员之间的关系。此外,诸如马拉松之类的体育赛事可以部署摄像机无人机来广播多个玩家。关于障碍中的多目标场景,由于以下原因,以前的作品 [5]-[10] 不容易适用。首先,除了障碍物的遮挡之外,在捕获所有目标时,我们还应该考虑目标之间的遮挡和视场 (FOV) 限制所引起的可见性问题。此外,实时计算变得更多由于目标数量的增加而具有挑战性。目标数量的增加也可以归因于优化中的数值问题,因此,如果采用 [5]-[7] 的单个非凸优化,则目标之间的冲突增加 (例如,一个目标的可见性可能会降低其他目标)。
在学术研究和商业产品 (例如DJI [12] 或Skydio [13]) 中,使用单个无人机追逐多个目标的讨论不如单个目标案例那么多,尤其是在障碍物环境中。相关工作 [14],[15] 产生了观察相机的运动,使相机图像上投影目标位置的变化最小化。[16] 的作者考虑了体育拍摄,其中无人机被引导使用上下文信息来集中注意力。作品 [17] 包括电影摄影的原理 (例如第三条规则),用于视觉上令人愉悦的视频片段。尽管研究 [14]-[17] 考虑了单个摄像机设置的多目标场景,但它们并未解决障碍环境。而且,没有以综合方式讨论实际的考虑因素,例如相互遮挡,追踪者的移动效率以及与目标的期望相对距离。
A.技术挑战
首先,系统应该能够可靠地预测目标的运动直接影响追逐运动计划的质量。预测应通过最小化观察误差来适当地反映目标的过去运动。此外,我们应该考虑非遍历区域的存在,以适用于障碍物场景。利用目标不与障碍物相交的事实可以提高预测的准确性。如果错误地预测目标在障碍物内,则追逐计划器可能无法可靠地评估目标的可见性。
其次,计算无人机的追逐运动应共同处理多个目标。应考虑运动的平滑度,以减少无人机图像的输入致动和模糊。为了获得更好的射击质量和检测性能,目标与无人机之间的相对距离应保持在所需的水平。此外,应避免无人机与障碍物或目标的碰撞。值得注意的是,同时捕获两个目标应该解决三个可见性问题: 障碍物的遮挡、相互遮挡以及观察目标的摄像机传感器的FOV极限 (参见图2)。此外,结合考虑因素,运动计划算法的计算速度应足够快,以响应多个目标和新发现的障碍物中的突然运动变化。
B.贡献
本文旨在为单个无人机建立一个高效的在线系统,以追逐两个目标并在单个帧中捕获它们,从而以集成的方式解决了上述问题。拟议的系统开发了两个模块: 预测和追踪。
预测模块采用包含目标的候选未来轨迹的离线库。在候选者中,预测被选择为具有最小观察误差并避免与不可穿越区域 (障碍物) 相交的运动。我们将在第三节.中讨论目标预测算法及其性能。
关于无人机的追踪运动,提出的规划模块由三个步骤组成: 1) 计算反映两个目标的能见度分数图,2) 视点构建,3) 生成追踪走廊和平滑轨迹。第一阶段在章节中解释。在IV中,我们提出了结合了相互遮挡和FOV限制的两个目标的可见性分数字段 (参见图2)。此外,我们引入了一种有效的扫描算法来计算该字段,其计算速度比我们以前的工作快十倍 [8]。根据分数字段,第5节揭示了第二和第三阶段。第二阶段在拓扑排序的图上使用搜索算法来计算一系列最佳视点,以确保关键目标和约束。使用视点和线性约束的二次规划 (QP),最后一个阶段以数值稳定的方式输出平滑的追逐运动。在第6部分,我们通过高保真仿真和多个真实世界的实验在四个不同的场景中验证了拟议管道的在线性能。通过为双重目标在障碍之间进行追逐提出上述在线管道,我们的贡献总结如下:
1.我们提出了一种考虑观测误差和障碍物的目标快速预测方法。
2.我们提出了一种度量来编码双目标的可见性,考虑到无人机的FOV限制和目标之间的相互遮挡。
3.我们提出了一种使用递归和插值计算可见性分数场的有效算法。
4.我们建立并验证了一个分层规划方法,通过大规模模拟和多个真实世界的实验来追逐两个目标,包括室内和室外场景,目标在三个维度上移动。
据作者所知,这项工作是第一个解决在密集障碍物中使用单个无人机追逐多个目标的工作。虽然所提出的方法可以是扩展到具有两个以上的目标,本文仅考虑两个目标,因为标准传感器设置很难找到解决三个或更多目标的所有技术问题的可行解决方案。
C.机载系统总览
在这里,我们简要概述了所提出的双目标追逐系统。无人机配备了惯性测量单元 (IMU) 和视觉传感器,我们可以从中获得RGB和深度图像 (例如立体相机)。使用IMU和视觉传感器输出,视觉里程表运行以估计无人机的状态。我们从RGB图像中检测目标,并根据深度图像估计其位置。我们还使用深度图像来构建pointcloud,过滤掉目标上的点。剩余的点云用于障碍物映射。
为了预测目标,使用目标的候选未来轨迹构建了离线运动库。此外,库将每个轨迹与轨迹经过的区域相关联。使用观察到的目标的位置和库,我们获得了候选的未来运动。然后,基于障碍物映射,我们根据与障碍物的碰撞来测试每个候选者的可行性,并选择有关观察误差的最佳预测。
对于沿预测的一组离散点,我们现在构建一系列可见性分数字段,以根据部分中的关键目标来测量位置可以观察到目标的程度。I-A。在字段上生成一组候选视点后,图形搜索将计算出满足基本约束的最佳视点序列。接下来,我们获得连接视点的走廊,在走廊内保证追逐者的安全。最后,在走廊内部计划了无人机的平滑追逐运动,并且追赶者无人机的飞行管理单元 (FMU) 的控制器执行该运动,直到预测可靠为止。我们重新规划追逐轨迹,当计划由于新发现的障碍,运动或预测变得不可行。
III.预测目标运动
本节提出了一种基于库的预测算法,结合了障碍和过去的观察结果。在描述了动机之后,我们讨论了离线库的构建和在线预测过程。
最近大多数关于追逐任务的工作 [5]-[7] [9],[10] 采用了一种预测算法,该算法仅考虑了过去观察误差的最小化,而没有反映障碍物的存在。尽管我们以前的工作 [8] 介绍了考虑障碍物的预测算法,但是需要先验地知道目标和障碍物的位置点,这限制了在线应用。同样,所提出的预测不能保证与障碍物的不相交,因为避免碰撞被考虑在非凸优化中。此外,对于精细的离散化级别,涉及距离场的梯度计算效率不高,并且直到不确定可靠解为止的迭代。
为了扩展我们的预测算法的在线适用性,最近关于达到静态目标的运动计划的工作 [21],[22] 值得注意。他们在离线库中考虑无人机的可行运动候选者,并预先计算每个候选者经过的区域。这些方法不需要对非凸目标进行梯度计算,并且对候选对象进行在线碰撞检查仅需数十微秒。他们在以体素为代表的未知环境中实现了无人机的高速飞行。受该工作的启发,我们通过以下两个步骤预测目标运动:
首先,我们生成一个离线库,该库具有目标未来运动的候选基元。此外,在给定局部空间的3D离散化的情况下,库还对每个候选者及其通过的一组体素的关系进行编码。
其次,基于库,我们针对新映射的障碍物对预测候选者进行在线碰撞检查。最后,选择具有过去观测误差最小的候选值的预测。
A.目标运动离线库
我们解释了离线库的构造,以预测考虑范围的单个目标
(此处省略了上标a和b)。离线目标库由表示可能的未来轨迹的运动原语和包含整个原语的一组体素地图组成,如图4-(a) 所示。在库中,假设目标以恒定的加速度移动。目标的初始位置设置为参考系的原点,并且初始速度的方向与框架的x轴对齐。对于时域 (0,T],下面的模型用于描述目标的运动:
图4:(a) 用于目标预测的示例性离线库。假设速度的方向与参考系对齐,则将一组运动原语L采样为候选的未来目标轨迹。图元传递的体素V也在透明立方体中可视化。(b) 所提出的预测方法的真实结果。考虑到观察误差和障碍物,对目标进行检测、跟踪和预测。灰度中的体素表示膨胀的障碍物。库中单元格的彩虹色图显示了与EDF的距离值,并且黑色曲线集是可行的预测候选。
为了生成一组候选基元,我们基于类似于 [23] 的lattice discretization离散化来采样可行的a和v。让我们将图元的集合写为L
。在图4-(a) 中示出了当从 [0.1,1.5] m/s之间的均匀离散化采样了20个值的v 的例子,而从中选择的a的x和y元素 [0.0,0.2] m/s2 (10个样本) 和 [-0.4,0.4] m/s2 (7个样本)。
现在,让我们考虑一组表示为V的体素,它包含所有生成的具有定义分辨率的基元 (参见图4-(a) 中的透明立方体)。在这项工作中,体素被设置为与octomap具有相同的分辨率。对于体素v ∈ V,我们可以识别与v相交的L中的基元,并且离线库以与 [22] 类似的方式将此信息以bitset的形式编码。
B.计算可行预测值
在这里,我们描述了如何利用离线库从障碍物和观测的在线更新中输出合适的预测。让我们定义一个不与障碍物相交的原语是可行的预测。在线预测的概述如下: 我们首先根据最新的观察结果相对于新的参考系转换L中的运动基元和V中的体素。然后,我们利用库中编码的遍历信息,快速检查变换后的L的每个元素是否与新障碍相交。
为了在请求预测时,定义库的新参考坐标系,我们假设在过去时间步长中收集到
个目标的观测值,记为,
其中是第N个观测值。更大的下标值对应更老的观测。对于当前t=0时刻的目标观测值
,定义在新参考系下的位姿
其中R是旋转矩阵,e1是速度方向,假定目标主要的旋转方向是yaw角和pitch角,Rq的最后一个分量设置为e3 = e1 × e2 ∈ r3。为了从当前目标观测值 (xq,0,˙ xq,0) 获得可能的后续运动,我们相对于帧Tq,0变换基元L的集合并包含体素V。我们将转换后的库表示为 (Lt,Vt)。过去的观察和对应的 (Lt,Vt) 的示例在图4-(b) 中可视化。
使用从在线映射构建的局部EDF φ(x),我们现在可以检查所有vt ∈ Vt的碰撞状态。基于V和L之间的离线比特集关联,我们修剪出Lt中与障碍物区域内vt相关的轨迹,并收集可行的预测基元。在其中选择最终预测xq(t),这使以下观察误差最小化:
图4-(b) 分别说明了一组黑色曲线和一条红色曲线中的可行候选和最终预测xq(t)。
C.分析
在将提出的预测算法与追踪者运动规划模块相结合之前,我们在图5所示的障碍物环境中使用独轮车模型对目标进行试验测试一下。独轮车模型的线速度和角速度是用高斯分布随机驱动的,其标准偏差分别为 σ v ∈ R和 σ w ∈ R。让我们把这对写成 σ vw = (σ v,σ w)。对于x和y元素,该预测算法没有对具有高斯噪声N(0,σ2n) 的位置的过去观测,其中 σ n ∈ R是噪声的偏差。
如图5所示,目标的初始位置为 [0,5] m,航向方向为 π/4。然后,我们考虑 σ vw的四个不同级别: {(0.1,10),(0.5,12),(0.7,13),(0.9,14)} (σ v的单位为m/s,σ w的单位为s-1),并从每个随机性级别采样25条非碰撞目标轨迹,总计100条轨迹。单个轨迹在50 s内被积分,我们使用No = 10噪声观测值重复预测2 s内的目标运动,其标准差 σ n在 {0.01,0.1,0.2,0.3} m之间选择。我们有4 × 4组合的驱动随机性 σ vw和观测噪声 σ n,如表中所示。1.对于离线库,我们在第iii-a节中使用了相同的设置,该设置产生了图4-(A) 中的示例。
图5: 用于测试预测精度的目标轨迹集。
表I:预测精度结果。(平均值除以最大值)
为了评估短期2秒内预测的局部准确性,我们对目标的真实位置与预测位置之间的差异进行了平均。为了评估整个50 s持续时间内的全局准确性,我们对本地准确性的累积评估采用另一个平均值。表1的每个单元格总结了平均值和最大值,对于给定的致动随机性和观测值,从25测试一下轨迹获得的全局精度值。在具有32 GB RAM的标准i7计算机中,该设置的平均计算时间不到20 ms。