无人机控制就是对无人机各个状态的控制(文章“城堡里学无人机:状态视角深入无人机硬件与算法”)。“城堡里学无人机:如何处理GPS数据获取无人机状态信息?”则完整演示了从GPS数据到无人机外环状态信息的转换过程。是时候和MR.城堡一起感受一下在实际无人机系统设计中跟随功能是如何实现的。
MR.城堡首先需要选择一款无人机为大家进行实际系统演示,这款产品的硬件架构与算法体系都需简洁实用,具备优秀的跟随性能,操作系统直接、透明。
最终选择了之前在CES Asia上就很看好的Skye Orbit无人机。在这里也要感谢斯凯智能,虽然正在Kickstarter出货的紧张阶段,依然非常热情地提供了样机、场地,斯凯的工程师高效地配合完成了整个实验。MR.城堡不做广告,有兴趣的同学可以自己登陆Kickstarter了解。
如何设计无人机系统实现跟随功能?
首先需要选择被控状态。咦?无人机的被控状态不就是内外环状态么,为什么还要进行选择呢?这体现了无人机系统设计的灵活之处。跟随功能属于相对位置导航,可以选择控制无人机的绝对位置;也可以选择控制无人机与跟踪目标之间的相对位置,意味着可以将两者间的距离当做扩展状态进行控制;甚至可以通过绝对位置信息与相对位置信息进行数据融合,而融合的方法也是多种多样。
大家可别小看这选择上的差异:条条大路通罗马,条条大路不相同。不同的状态选择,体现了对于跟随运动的不同理解,与之对应的硬件设计,算法架构也可以各不相同。
直接从无人机产品进行观察最为直观,与MR.城堡一起来看看Skye Orbit在硬件设计和算法架构上如何实现跟随功能:
Skye Orbit无人机系统包含一个臂环Tracker,内置GPS。可以看出,Orbit应该是实时获取跟踪目标的六个外环状态:位置[x,y,z];速度[u,v,w]。
在APP中可以设置跟随距离,因此在不同的设置中,无人机与目标的期望相对距离是固定值。Orbit可以通过跟随目标的状态信息,以及期望的相对距离计算得到无人机的期望位置状态,并与当下状态进行比较,根据算法得出修正量。这样的算法架构可以避免将相对距离看做系统状态所需要的额外数据转换过程。
如此一来不就已经实现了跟随功能么?然而无人机不是一个被信号“牵线”的电子气球。位置跟随仅仅是跟随功能的一部分,还需要在位置跟随的前提下为用户采集满意的图像、影像数据。从此出发才能算作一个完整的机器人系统,而不只是一个拥有某些功能的高级玩具。