無人機控制就是對無人機各個狀態的控制(文章“城堡里學無人機:狀態視角深入無人機硬件與算法”)。“城堡里學無人機:如何處理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可以通過跟隨目標的狀態信息,以及期望的相對距離計算得到無人機的期望位置狀態,并與當下狀態進行比較,根據算法得出修正量。這樣的算法架構可以避免將相對距離看做系統狀態所需要的額外數據轉換過程。
如此一來不就已經實現了跟隨功能么?然而無人機不是一個被信號“牽線”的電子氣球。位置跟隨僅僅是跟隨功能的一部分,還需要在位置跟隨的前提下為用戶采集滿意的圖像、影像數據。從此出發才能算作一個完整的機器人系統,而不只是一個擁有某些功能的高級玩具。