本文,我们研究了仅通过相机信息对无人机进行队列控制。为此,我们采用基于深度学习模型YOLO的实时物体检测。YOLO目标探测器持续估计前方无人机的相对位置,通过该位置,每架无人机都由PD(比例导数)反馈控制器控制,以进行队列操作。我们用三架无人机进行的室内实验表明了该系统的有效性。
原文:基于YOLO物体检测的无人机队列实时控制
队列(Platooning)是多辆车协同驾驶的一种控制方法[1],这是自动公路系统中的一项基本技术[2]。特别是,几十年来一直在积极研究卡车队列[3]。卡车车队的一个优点是通过无人驾驶跟车来增加运输能力,同时降低人力成本。在卡车队列中,每辆跟随卡车需要通过使用激光雷达和摄像头等传感器来检测前面卡车的相对位置和速度,以检测其他卡车(尤其是前面的卡车),以及卡车之间的通信交换。
无人机队列对森林火灾监控[4]、道路搜索[5]和运输[6]等实际应用很重要,不过这些都是假设在GPS可用的情况下。但是,GPS不可用的室内队列对隧道检查[7]、桥梁检查[8]以及仓储和交付[9]等也至关重要。受这些应用的启发,我们考虑了一种室内无人机队列系统,该系统仅使用摄像机图像,而不使用GPS、激光雷达或运动捕捉系统。
关于无人机队列的一些理论研究已经发表[10-12],而在真实环境中进行无人机队列控制的实验还没有报道。在本文中,我们使用DJI Tello的小型无人机开发了一个无人机队列实验。
对于实时物体检测,我们采用了一种叫做YOLO的深度学习模型[13]。根据物体检测的结果,估计了前方无人机的相对3D位置,从中通过PD(比例导数)反馈控制来控制跟随无人机。对于PD参数调整,我们使用基于传递函数的系统识别技术[14]来识别无人机与YOLO目标探测器结合的动力学,然后通过计算机模拟来调整PD参数。然后,我们在室内环境中进行无人机实验。我们使用三架无人机;一架是先导无人机(leader drone),其他的是跟随无人机( follower drones)。我们在室内环境中展示了实验结果,以说明所提出的系统的有效性。
对于使用连接到无人机的相机进行实时物体检测,我们采用YOLO深度学习模型[13]。通过使用YOLO,我们可以实时获得一类对象的预测和指定对象位置的边界box。特别是,YOLO返回有关边界box的中心、宽度和高度的信息,这些信息可有效地用于检测前方无人机的3D位置。YOLO有多个版本[15,16],我们使用YOLOv5s[16],它具有最小的模型尺寸,但实现了快速检测,因此它是我们无人机队列应用的理想选择。
我们使用Ultralytics[17]预先训练的YOLOv5s模型,并使用700张320×320的无人机图像重新训练模型。我们将数据集分为540个用于训练,160个用于验证。我们将训练(即,通过随机梯度下降的神经网络参数学习)迭代500次,最小批量大小为128。图1显示了损失函数的收敛结果,即box回归损失、类损失、对象损失,以及精度、召回率和平均精度。从这些图中观察到,通过500次迭代实现了精确的目标检测。
此外,图2显示了通过训练的YOLO模型进行目标检测的一些结果。我们可以观察到,经过训练的YOLO模型通过精确的边界框成功地检测到无人机。
我们注意到,经过训练的YOLO模型的大小为13.6MB,非常小,可以精确快速地检测无人机目标。事实上,物体检测的时间约为30毫秒,这意味着我们可以采用采样时间Ts =1/15≈66.7毫秒,通过该时间,我们可以每秒处理15个图像帧进行控制。
我们使用YOLO作为前方无人机相对位置的传感器。图3(左)显示了YOLO目标检测的结果。无人机的视野(FOV)为82.6度。我们将原点设置在图像帧的左上角,x轴和y轴如图3所示。设(x,y)和(rx,ry) 分别是无人机在前面和框架中的中心,A是估计的边界框的面积。在我们的例子中,我们固定rx=160 和ry=120 。使用边界框的区域A估计到前方无人机的距离。我们校准系统,当A = 1800,使距离为60厘米。
当前方有两架以上的无人机时,可能会检测到多架无人机,如图3(右)所示。在这种情况下,我们测量边界框的长度,比如L1 和L2 ,如果L1>L2 ,如图3所示,那么选择L1 的边界框作为无人机。然后,我们确定了无人机输入/输出系统的动态,包括YOLO目标探测器和Wi-Fi无线通信(见图4)。
我们注意到,无线通信的延迟随时间而变化,这可能会导致第4节所述的转换不稳定。为此,我们采用了x、y和距离方向的二阶传递函数,并使用MATLAB的系统辨识工具箱使用输入/输出数据计算传递函数的系数。获得的传递函数(见图4)如下:
这些系统包括YOLO探测器的动态特性和时间延迟,因为我们使用Wi-Fi,所以在无人机和执行YOLO探测并生成控制信号的计算机之间,时间延迟可以是时变的。我们还注意到,每个传递函数都有一个接近零的极点,因此我们可以将其视为包含积分器的系统。我们采用PD(比例导数)控制,而无I(积分)。我们在时间t≥0时检测到跟踪误差:
其中,通过它我们应用反馈控制,使得和收敛到0。
我们用采样时间控制系统,并使用阶跃不变变换(也称为零阶保持离散化)对传递函数进行离散化[18]。然后PD控制由以下离散时间传递函数给出:
其中。我们使用(1)中获得的模型通过计算机模拟寻求参数。表1给出了获得的参数。很容易检查到,通过这些PD反馈控制器,(1)中描述的动态系统在理想采样器和采样时间 =1/15秒的零阶保持下渐近稳定。图5显示了使用所获得的PD控制器的仿真结果。我们可以看到,对于x和y方向,响应时间大约为2秒,但是对于距离方向,时间大约为3秒。
在本节中,我们展示了在室内环境中使用YOLO目标检测的无人机队列的实验结果。我们使用了三架DJI Tello无人机,其中一架是先导无人机,其他的是跟随者无人机。领头的无人机由人用智能手机手动控制,两个跟随者无人机由两台电脑PC1和PC2通过使用Wi-Fi的无线通信独立控制,如图6所示。PC1和PC2通过YOLO执行目标检测,并通过PD控制器生成控制信号,然后将其独立发送给跟随无人机。
我们使用另一个YOLO模型测量每架无人机的全球3D位置,该模型带有固定在房间中的摄像机的录制视频图像。图7显示了用于控制x和y方向的三架无人机的位置。图8还显示了用于控制距离方向的无人机的位置。这些结果的电影可以在图片标题所示的网页上找到。
表2分别显示了第i架和第j架无人机之间x、y和距离方向的平均绝对误差 、和 。
我们注意到,模拟结果与实验结果之间的差距应归因于时变通信延迟和风扰动。从这些结果中,我们可以看到,跟随者无人机与前面的无人机一致移动,并实现无人机队列,因为表2中的误差都是有限的,不会发散。我们还观察到,第二个跟随者无人机显示出比第一个跟随者的无人机更大的误差。这种现象可以通过弦不稳定性来解释[19,20],当我们控制更长的队列时,弦不稳定性会导致越来越大的误差。为了保证较长排的串稳定性,我们需要降低图4所示系统的范数(或增益)(从到)。即,应满足以下不等式:
对于任何,其中是第个跟随无人机输入/输出系统的传递函数,N是跟随无人机的数量。为此,我们需要采用控制设计[21]。
在本文中,我们展示了基于实时深度学习物体检测的无人机队列设计。YOLO模型适用于实时检测,PD控制参数通过仿真进行调整。实验结果表明了所提出的系统的有效性。未来的工作包括通过采用线性二次型(LQ)最优控制、控制或模型预测控制来设计三维空间中的多输入控制。
1. 2023年最值得关注的机器人趋势TOP10
2. 无人机群分布式协同定位
3. Turtlebot+ROS Stage仿真环境实现MPC轨迹跟踪
4. PythonRobotics | 基于python的机器人自主导航
5. 视觉3D目标检测,从视觉几何到BEV检测
6. 万字综述 | 自动驾驶多传感器融合感知