如何进行无人机定位功能设计与测试?

无人机控制就是对无人机各个状态的控制(文章“城堡里学无人机:状态视角深入无人机硬件与算法”)。“城堡里学无人机:如何处理GPS数据获取无人机状态信息?”则完整演示了从GPS数据到无人机外环状态信息的转换过程。是时候和MR.城堡一起感受一下在实际无人机系统设计中跟随功能是如何实现的。

MR.城堡首先需要选择一款无人机为大家进行实际系统演示,这款产品的硬件架构与算法体系都需简洁实用,具备优秀的跟随性能,操作系统直接、透明。


最终选择了之前在CES Asia上就很看好的Skye Orbit无人机。在这里也要感谢斯凯智能,虽然正在Kickstarter出货的紧张阶段,依然非常热情地提供了样机、场地,斯凯的工程师高效地配合完成了整个实验。MR.城堡不做广告,有兴趣的同学可以自己登陆Kickstarter了解。

  1. 如何设计无人机系统实现跟随功能?


首先需要选择被控状态。咦?无人机的被控状态不就是内外环状态么,为什么还要进行选择呢?这体现了无人机系统设计的灵活之处。跟随功能属于相对位置导航,可以选择控制无人机的绝对位置;也可以选择控制无人机与跟踪目标之间的相对位置,意味着可以将两者间的距离当做扩展状态进行控制;甚至可以通过绝对位置信息与相对位置信息进行数据融合,而融合的方法也是多种多样。

大家可别小看这选择上的差异:条条大路通罗马,条条大路不相同。不同的状态选择,体现了对于跟随运动的不同理解,与之对应的硬件设计,算法架构也可以各不相同。

直接从无人机产品进行观察最为直观,与MR.城堡一起来看看Skye Orbit在硬件设计和算法架构上如何实现跟随功能:

Skye Orbit无人机系统包含一个臂环Tracker,内置GPS。可以看出,Orbit应该是实时获取跟踪目标的六个外环状态:位置[x,y,z];速度[u,v,w]。

在APP中可以设置跟随距离,因此在不同的设置中,无人机与目标的期望相对距离是固定值。Orbit可以通过跟随目标的状态信息,以及期望的相对距离计算得到无人机的期望位置状态,并与当下状态进行比较,根据算法得出修正量。这样的算法架构可以避免将相对距离看做系统状态所需要的额外数据转换过程。

如此一来不就已经实现了跟随功能么?然而无人机不是一个被信号“牵线”的电子气球。位置跟随仅仅是跟随功能的一部分,还需要在位置跟随的前提下为用户采集满意的图像、影像数据。从此出发才能算作一个完整的机器人系统,而不只是一个拥有某些功能的高级玩具。

此时整个系统的被控对象不单单是无人机,也包括云台。Orbit需要在实现位置控制和速度控制的同时,进行云台姿态控制,这时的云台控制也不止是实现相机的姿态稳定,还要对跟踪对象进行识别和运动轨迹计算、估计,并进行实时信息反馈等。

这就意味着要在之前的算法架构中多设计一层:通过摄像头采集的实时图像进行计算机视觉分析,实现在跟踪的过程中,保证所跟随的物体始终在镜头的视角范围之内。这会使控制器的设计变得更加灵活:两个控制器可以相互独立,也可以相互关联,不同的关联方式又可以产生不同的控制器架构。

既然有这么多的实现逻辑、算法架构、硬件设计,如何从中挑选出合适的方案呢?

2.Orbit跟随功能测试


有很多理论的分析方法,评价指标可以用在无人机系统设计中。但MR.城堡今天更想跟大家分享实机测试过程。理论固然重要,但进行实机测试不单是成熟产品的必经阶段,也同样有助于增强我们对无人机系统的直观理解。

2.1能跟得上么?

对于跟踪拍摄而言,跟踪目标走路是一回事,跑起来是另一回事,变向、折返情况就更不一样了。

MR.城堡特别为Orbit设计了“暴力”的实验过程:快跑+折返+横向变向,由跟踪对象进行两次折返跑,两次左转跑步变向,而Orbit需在无操控情况下进行自动跟踪。


在面对在折返跑运动时,无人机设计者需要面对速度向量的方向反转,加速度大幅值变化,以及无人机的快速响应等需求。由于无人机之前的跟随运动方向与之后完全不同,设计者需保证无人机能够进行比较大幅度的姿态调整。同时,无人机要通过图像算法保证对跟踪目标的有效数据采集,不能被旁边的花花草草吸引走。

Orbit整个跟踪过程非常流畅,一镜到底,且无人机与跟随目标之间的距离一直得到有效保持。当跟踪对象进行折返时,Orbit能够快速进行大幅度的姿态调整。实现了优秀的跟随后,跟拍的影像效果如何呢?

从上面两幅图可以看出,刚开始Orbit在被跟踪目标向前快速起步时,努力保证将目标控制在影像中心,但由于目标起跑时加速度很大,实现起来颇有难度。当对象反向折返后,Orbit能够调整姿态快速后退,并保持目标在影像中心位置。

跟踪目标在横向变向过程中,设计者要能使无人机适应更大范围的速度向量与加速度变化,对控制器的响应速度及超调量之间的平衡有很高要求。

Orbit对横向变向的跟踪能力出乎意料的好,在实际测试中,对象横向运动后会回到纵向跑步轨迹中,Orbit在这个过程中机身没有因为突然的变向发生快速大幅值姿态抖动,姿态变化衔接流畅,不知道是不是有对目标加速度的预测算法呢?有机会要向他们的CTO请教一二。

横向跟随过程中图像采集,目标时刻处于镜头中心,这也能体现Orbit在最初目标加速起步后进行了快速跟踪,并成功地将对象调整到了镜头中心。

MR.城堡特意让跟踪目标变向跑到离花坛很近的位置,而Orbit并没有“不守规矩”地被野花吸引走。

2.2风大还能行么?

运动爱好者可不追求云淡风轻,当外部环境恶化的时候,无人机系统能否保证跟踪性能?换句话说,跟踪过程中的抗扰性是否过硬?MR.城堡没有呼风唤雨之能,只好将“风速”转化为“高度”进行测试。

跟随功能本身的特点限制了无人机的有效飞行高度。不像航拍,除了Hulk估计谁也不会让自己的无人机在10m开外跟随。因此MR.城堡只能将高度比之前提升一倍,运动模式与之前相同,通过“极端”的运动模式保证扰动测试的有效性。


从图中看出,在高度提升后,Orbit甚至更容易使跟踪目标保持在镜头中心位置。在低空飞行中遇到大风,变风情况是无人机系统设计者必须思考的内容。优化控制器整体结构还是优化某些控制参数?哪一种更有效率?哪一种有更强的抗扰性?MR.城堡会在以后的文章中详细展开。

2.3电量不足怎么办?

无人机电量是在不断发生变化的,虽然可以通过硬件尽量保证电流的稳定,但飞过无人机的朋友一定有很深的感触,电池电量不同,无人机的“力道”完全不一样的。当电量低到一定程度时,操控都有难度,更莫提稳定地实现某种功能。MR.城堡特别选择在低电量情况下测试Orbit跟随性能:在低电量下(35%以下电量),跟踪大幅度快速运动。

成熟的无人机设计必须考虑电量不足等极端情况。电池电量的下降幅度并不是随时间线性变化的,从90%降到70%的速度与40%到20%并不相同,在操作者被跟随的时候,往往很难意识到电池电量的情况。而当电量不足时,无人机执行器的动态已经发生了变化,在这种情况下控制器的设计需要考虑无人机本身动态模型发生变化的情况,即增强控制器的鲁棒性能。


Orbit在电量不足的情况下(35%以下电量)依然能够实现对目标的有效跟随,而影像数据采集也没有受到明显影响。在在功能设定上,Orbit特别针对跟随功能设计了相应的安全模式。

这些极端情况能够考察出设计者解决问题的实际能力,除了从控制器算法设计角度来解决问题,也可以从无人机功能角度来处理,比如Orbit特别针对跟随功能设计的低电保护,这需要产品经理对无人机系统及相关功

能有深入的思考,才能满足用户对功能体验的苛刻要求。这也体现了无人机产品设计过程中的灵活性,有时我们需要跳出某个具体(算法工程师,硬件工程师,飞行器设计工程师等)的思维,才能从系统整体角度设计更有效率的解决方案。

真正设计一款无人机产品需要融合设计环节和测试环节,在设计中时刻考虑实际的飞行情况,在测试中不断思索设计的完善方法。同样的功能目标却能通过各样的设计方法实现,无人机系统设计就如同艺术创作,优秀的无人机产品通过背后所蕴含的理念,逻辑,算法,设计而成为一件不可多得的艺术佳品。

图片来自互联网、测试过程、相关论文

[1]Backstepping Approach for Controlling a Quadrotor Using Lagrange Form Dynamics. Abhijit Das, Frank Lewis, Kamesh Subbarao

[2]Dynamic inversion with zero-dynamics stabilisation for quadrotor control.A.Das, K.Subbarao, F.Lewis

城堡无人机工作室公众号:CastleUAVStudio